PythonSDK访问maxcompute查询的数据大约1G(下图中的table t)导出到本地Mysql,有哪些简单快速的方法,谢谢~~~~
用PyODPS可以写成这样,mysql那边使用sqlalchemy
import itertools
from sqlalchemy import create_engine, MetaData, Table
from odps.df import DataFrame
DB_CONNECT_STR = 'mysql+mysqldb://root:@localhost/mydb?charset=utf8'
engine = create_engine(DB_CONNECT_STR, echo=True)
conn = engine.connect()
metadata = MetaData(engine)
table = Table('mysql_table', metadata, autoload=True)
df = DataFrame(odps.get_table('my_demo_table', project='my_project'))
selected = df.filter(df.pdate == '')['imei', 'time_in', 'ntotalvote', 'ntotalcurr']
records = []
for i, record in zip(itertools.count(1), selected.execute()):
if i % 100:
conn.execute(conn.insert(), [dict(r) for r in records])
records = []
records.append(record)
if records:
conn.execute(conn.insert(), [dict(r) for r in records])
如果数据本身用文本能表达的话,走 odpscmd tunnel download 下载成本地文件,再从 mysql 那边 load data 进去最快。
自己拿 python 写几行导入到 mysql 也不复杂。
是在不想自己写,odps 也有 jdbc 驱动,找个能两个 jdbc 源之间同步数据的应该也可以。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。