更新旧版 ~ETL;在此基础上,它将 prod DB 的一些表导出到 s3,导出包含一个查询。导出过程使用以下逻辑生成 csv 文件:
res = sh.sed(
sh.mysql(
'-u',
settings_dict['USER'],
'--password={0}'.format(settings_dict['PASSWORD']),
'-D', settings_dict['NAME'],
'-h', settings_dict['HOST'],
'--port={0}'.format(settings_dict['PORT']),
'--batch',
'--quick',
'--max_allowed_packet=512M',
'-e', '{0}'.format(query)
),
r's/"/\\"/g;s/\t/","/g;s/^/"/;s/$/"/;s/\n//g',
_out=filename
)
具有更大吸引力的中期解决方案是 AWS Glue,但如果我可以有类似的功能来生成 parquet 文件而不是 csv 文件,那么短期内就需要很大的收益