[英]Move data from Postgres/MySQL to S3 using Airflow
我们正在尝试从 Pentaho Kettle 迁移到 Apache AIrflow,以进行 ETL 并将所有数据处理集中在 1 个工具下。
我们每天使用 Kettle 从 Postgres/Mysql 数据库读取数据,并将数据移动到 S3 -> Redshift。
什么是最简单的方法来做到这一点? 我没有看到可以直接执行此操作的 Operator; 那么我是否应该使用 MySQL/Postgres 运算符将数据放入本地文件,并使用 S3 运算符将数据移动到 S3?
谢谢
您可以构建自己的运算符 'mysql_to_s3' 并将其作为插件添加到 Airflow。
有一个运算符可以将数据从 Mysql 归档到 gcs:
您可以使用 s3_hook 代替def _upload_to_gcs
来让所有代码稍作更改: s3_hook.py 。
关于自定义插件的文档:
气流插件(由天文学家提供)有一个MySqlToS3Operator
,它将获取 mysql 查询的结果集并将其作为 csv 或 json 放在 s3 上。
该插件可以在这里找到: https : //github.com/airflow-plugins/mysql_plugin/blob/master/operators/mysql_to_s3_operator.py
从那里您可以使用 s3_to_redshift 运算符将数据从 S3 加载到 redshift: https ://airflow.readthedocs.io/en/latest/_modules/airflow/operators/s3_to_redshift_operator.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.