12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import requests
- import json
- import datetime
- from odps import ODPS
- # ODPS服务配置
- ODPS_CONFIG = {
- 'ENDPOINT': 'http://service.cn.maxcompute.aliyun.com/api',
- 'ACCESSID': 'LTAIWYUujJAm7CbH',
- 'ACCESSKEY': 'RfSjdiWwED1sGFlsjXv0DlfTnZTG1P',
- }
- class OdpsDataCount:
- @classmethod
- def get_data_count(cls, project, table, dt):
- odps = ODPS(
- access_id=ODPS_CONFIG['ACCESSID'],
- secret_access_key=ODPS_CONFIG['ACCESSKEY'],
- project=project,
- endpoint=ODPS_CONFIG['ENDPOINT']
- )
- data_values = []
- try:
- sql = f'SELECT videoid,title,video_path,type FROM {project}.{table} WHERE dt = "{dt}" '
- with odps.execute_sql(sql).open_reader() as reader:
- for row in reader:
- data_values.append(json.dumps( {"video_id": row[0], "title": row[1], "video_path": row[2], "type": row[3], "partition": str(dt)}, ensure_ascii=False ))
- except Exception as e:
- print(f"An error occurred: {e}")
- return data_values
- return data_values
- @classmethod
- def main(cls, table, dt):
- # dt = datetime.datetime.now().strftime('%Y%m%d%H')
- project = 'loghubods'
- # table = 'content_ai_tag_return_top'
- data_count = cls.get_data_count(project=project, table=table, dt= dt)
- print(len(data_count))
- return data_count
- if __name__ == '__main__':
- OdpsDataCount.main()
|