odps_data.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import requests
  2. import json
  3. import datetime
  4. from odps import ODPS
  5. # ODPS服务配置
  6. ODPS_CONFIG = {
  7. 'ENDPOINT': 'http://service.cn.maxcompute.aliyun.com/api',
  8. 'ACCESSID': 'LTAIWYUujJAm7CbH',
  9. 'ACCESSKEY': 'RfSjdiWwED1sGFlsjXv0DlfTnZTG1P',
  10. }
  11. class OdpsDataCount:
  12. @classmethod
  13. def get_data_count(cls, project, table):
  14. odps = ODPS(
  15. access_id=ODPS_CONFIG['ACCESSID'],
  16. secret_access_key=ODPS_CONFIG['ACCESSKEY'],
  17. project=project,
  18. endpoint=ODPS_CONFIG['ENDPOINT']
  19. )
  20. data_values = []
  21. try:
  22. dt = "2024101015"
  23. sql = f'SELECT videoid,title,video_path FROM {project}.{table} WHERE dt = "{dt}" '
  24. with odps.execute_sql(sql).open_reader() as reader:
  25. for row in reader:
  26. data_values.append(json.dumps( {"video_id": row[0], "title": row[1], "video_path": row[2]}, ensure_ascii=False ))
  27. except Exception as e:
  28. print(f"An error occurred: {e}")
  29. return data_values
  30. return data_values
  31. @classmethod
  32. def main(cls):
  33. dt = datetime.datetime.now().strftime('%Y%m%d%H')
  34. project = 'loghubods'
  35. table = 'video_need_google_ai_studio'
  36. data_count = cls.get_data_count(project=project, table=table)
  37. print(len(data_count))
  38. return data_count
  39. if __name__ == '__main__':
  40. OdpsDataCount.main()