rds_cost_to_ck.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. """
  2. @desc 消耗数据同步到ck
  3. @auth ck
  4. @date 20201128
  5. """
  6. from model.DataBaseUtils import MysqlUtils,CkUtils
  7. from model.DateUtils import DateUtils
  8. from model.log import logger
  9. log=logger()
  10. db = MysqlUtils()
  11. ck = CkUtils()
  12. dt = DateUtils()
  13. import sys
  14. from model.DingTalkUtils import DingTalkUtils
  15. def sync_daily_qq(mydt):
  16. table='daily_qq'
  17. col=db.quchen_text.getColumn("daily_qq")
  18. sql = "select * from {} where date='{} 00:00:00'".format(table,mydt)
  19. data = db.quchen_text.getData(sql)
  20. li1 = []
  21. for i in data:
  22. li2 = list(i)
  23. li2[1] = str(li2[1])
  24. li2[12]=round(i[12],4)
  25. li1.append(tuple(li2))
  26. ck.execute("alter table {} drop partition '{}' ".format(table, mydt))
  27. ck.insertMany(table, col, li1)
  28. def sync_daily_vx(mydt):
  29. table='daily_vx'
  30. col=db.quchen_text.getColumn(table)
  31. sql = "select * from {} where date='{} 00:00:00'".format(table,mydt)
  32. data = db.quchen_text.getData(sql)
  33. # print(len(data))
  34. li1 = []
  35. for i in data:
  36. li2 = list(i)
  37. li2[1] = str(li2[1])
  38. li2[5] = round(i[5],4)
  39. li2[6] = round(i[6],4)
  40. li2[7] = round(i[7],4)
  41. li2[8] = round(i[8],4)
  42. li2[10] = round(i[10],4)
  43. li1.append(tuple(li2))
  44. ck.execute("alter table {} drop partition '{}' ".format(table, mydt))
  45. ck.insertMany(table, col, li1)
  46. def run(mydt):
  47. sync_daily_qq(mydt)
  48. sync_daily_vx(mydt)
  49. if __name__ == '__main__':
  50. # date_li=dt.getDateLists('2020-04-09','2020-11-28')
  51. # for j in date_li:
  52. # run(j)
  53. try:
  54. if sys.argv.__len__()>1:
  55. run(dt.get_n_days(-1))
  56. else:
  57. run(dt.get_n_days())
  58. except Exception as e:
  59. DingTalkUtils.send("消耗数据同步到ck出错:" + e, '18860455786')