以下是一个简单的Python脚本,可以从阿里云OSS导数据到ADS上:
import oss2
import pandas as pd
from sqlalchemy import create_engine
# 阿里云OSS配置
access_key_id = 'your_access_key_id'
access_key_secret = 'your_access_key_secret'
endpoint = 'oss-cn-hangzhou.aliyuncs.com'
bucket_name = 'your_bucket_name'
# ADS配置
ads_host = 'your_ads_host'
ads_user = 'your_ads_user'
ads_password = 'your_ads_password'
ads_db = 'your_ads_database'
ads_table = 'your_ads_table'
# 创建OSS bucket对象
auth = oss2.Auth(access_key_id, access_key_secret)
bucket = oss2.Bucket(auth, endpoint, bucket_name)
# 读取OSS上的CSV文件
csv_file = bucket.get_object('path/to/your/file.csv')
csv_content = csv_file.read().decode('utf-8')
# 将CSV内容转换为Pandas DataFrame
df = pd.read_csv(StringIO(csv_content))
# 连接ADS数据库
engine = create_engine(f'postgresql://{ads_user}:{ads_password}@{ads_host}/{ads_db}')
# 将DataFrame写入ADS表中
df.to_sql(ads_table, engine, if_exists='replace', index=False)
请注意,这只是一个简单的示例脚本,您需要根据自己的实际情况进行修改。特别是,您需要替换示例中的所有“your_xxx”字符串为您自己的配置。另外,您还需要安装相应的Python库,如oss2
、pandas
和sqlalchemy
。