| 12345678910111213141516171819202122232425262728293031 |
- #!/usr/bin/env python
- # coding=utf-8
- from odps import ODPS
- class ODPSClient(object):
- def __init__(self, project="loghubods"):
- self.accessId = "LTAIWYUujJAm7CbH"
- self.accessSecret = "RfSjdiWwED1sGFlsjXv0DlfTnZTG1P"
- self.endpoint = "http://service.odps.aliyun.com/api"
- self.tunnelUrl = "http://dt.cn-hangzhou.maxcompute.aliyun-inc.com"
- self.odps = ODPS(
- self.accessId,
- self.accessSecret,
- project,
- self.endpoint
- )
- def execute_sql(self, sql: str):
- hints = {
- 'odps.sql.submit.mode': 'script'
- }
- with self.odps.execute_sql(sql, hints=hints).open_reader(tunnel=True) as reader:
- pd_df = reader.to_pandas()
- return pd_df
- def execute_sql_result_save_file(self, sql: str, output_file: str):
- data_df = self.execute_sql(sql)
- data_df.to_csv(output_file, index=False)
|