我们正试图从Pentaho Kettle转移到Apache AIrflow来做ETL并将所有数据流程集中在一个工具下。
我们使用Kettle每日从Postgres / Mysql数据库中读取数据,并将数据移至S3 - >红移。
最简单的方法是什么?我没有看到可以直接做到这一点的运营商;我应该使用MySQL / Postgres运算符将数据放入本地文件,并使用S3运算符将数据移动到S3?
谢谢
答案 0 :(得分:3)
您可以构建自己的运算符' mysql_to_s3'并将其作为插件添加到Airflow。
有一个运算符可以将数据从Mysql存档到gcs:
您可以使用s3_hook代替def _upload_to_gcs
对所有代码进行一些更改:s3_hook.py。
有关自定义插件的文档:
答案 1 :(得分:0)
Airflow现在有一个MySqlToS3Operator
,它将使用mysql查询的结果集并将其作为csv或json放在s3上。
https://github.com/airflow-plugins/mysql_plugin/blob/master/operators/mysql_to_s3_operator.py
从那里您可能可以使用s3_to_redshift运算符:https://airflow.readthedocs.io/en/latest/_modules/airflow/operators/s3_to_redshift_operator.html