繁体   English   中英

使用 Airflow 将数据从 Postgres/MySQL 移动到 S3

[英]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:

mysql_to_gcs.py

您可以使用 s3_hook 代替def _upload_to_gcs来让所有代码稍作更改: s3_hook.py

关于自定义插件的文档:

Airflow 插件:博客文章

Airflow 插件:官方文档

气流插件(由天文学家提供)有一个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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM