如何从查询到 mysql 表创建镶木地板文件

数据挖掘 Python CSV
2022-03-09 18:18:49

更新旧版 ~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 文件,那么短期内就需要很大的收益

2个回答

除了使用 Apache Spark,我还能想到几种方法。

除了通过 Spark / PySpark 之外,似乎没有直接的方法可以做到这一点;只要这是真的,答案就是这样:https ://stackoverflow.com/questions/27718382/how-to-work-with-mysql-and-apache-spark