12345678910111213141516171819202122232425262728293031323334353637 |
- import json
- 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, dt):
- odps = ODPS(
- access_id=ODPS_CONFIG['ACCESSID'],
- secret_access_key=ODPS_CONFIG['ACCESSKEY'],
- project="loghubods",
- endpoint=ODPS_CONFIG['ENDPOINT']
- )
- data_values = []
- try:
- sql = f'SELECT videoid,type,channel,time FROM loghubods.allaround_spider_recommend_video_hour 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], "type": row[1], "channel": row[2], "time": 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, dt):
- data_count = cls.get_data_count( dt= dt)
- return data_count
- if __name__ == '__main__':
- OdpsDataCount.main()
|