BytedanceNewMaterialNumInProject.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # Author zhaohailiang
  2. # coding=utf-8
  3. # @Time : 2022/01/19 21:10 下午
  4. # @Site :
  5. # @File : BytedanceNewMaterialNumInProject.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 BytedanceNewMaterialNumInProject:
  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 create_time as stat_date, 1 as media_id,project_id,count(*) as material_num from (
  22. select create_time,project_id,signature from application.bytedance_project_material_relation a
  23. where create_time={date_time})t
  24. group by create_time,project_id
  25. """.format(date_time=self.date_time)
  26. print(sql)
  27. TidbConn.upsert(conn=self.conn, sql_buff=sql)
  28. self.conn.commit()
  29. TidbConn.conn_close(conn=self.conn)
  30. return 0
  31. except Exception as e:
  32. logging.error(e)
  33. return -1
  34. if __name__ == '__main__':
  35. status = BytedanceNewMaterialNumInProject().taskHandler()
  36. if status == 0:
  37. print("作业执行成功")
  38. exit(0)
  39. else:
  40. print("作业执行失败")
  41. exit(-1)