KuaishouNewMaterialNumInProject.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. # Author zhaohailiang
  2. # coding=utf-8
  3. # @Time : 2022/01/19 21:10 下午
  4. # @Site :
  5. # @File : KuaishouNewMaterialNumInProject.py
  6. # @Software: PyCharm
  7. # @contact: zhaohailiang@c-top.com.cn
  8. # @Tel 18201631162
  9. import logging
  10. from Apietl.conn.TidbConn import TidbConn
  11. from Apietl.utlis.Utils import Utils
  12. class KuaishouNewMaterialNumInProject:
  13. def __init__(self):
  14. self.conn = TidbConn.get_connection()
  15. self.parm = Utils.get_task_args()
  16. self.date_time = self.parm[0]
  17. def taskHandler(self):
  18. try:
  19. sql = """
  20. replace into application.new_material_num_in_project
  21. select media_time, 2 as media_id,project_id,count(*) from (
  22. select media_time,project_id,signature from application.kuaishou_project_material_relation a
  23. left join application.app_kuaishou_material_info b
  24. on a.signature=b.material_id
  25. where media_time={date_time})t
  26. group by media_time,project_id
  27. """.format(date_time=self.date_time)
  28. print(sql)
  29. TidbConn.upsert(conn=self.conn, sql_buff=sql)
  30. self.conn.commit()
  31. TidbConn.conn_close(conn=self.conn)
  32. return 0
  33. except Exception as e:
  34. logging.error(e)
  35. return -1
  36. if __name__ == '__main__':
  37. status = KuaishouNewMaterialNumInProject().taskHandler()
  38. if status == 0:
  39. print("作业执行成功")
  40. exit(0)
  41. else:
  42. print("作业执行失败")
  43. exit(-1)