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

Srd*_*vic 6 python amazon-s3 airflow

我们正在尝试从 Pentaho Kettle 迁移到 Apache AIrflow 来进行 ETL 并将所有数据处理集中在 1 个工具下。

我们每天使用Kettle从Postgres/Mysql数据库读取数据,并将数据移动到S3 -> Redshift。

做到这一点最简单的方法是什么?我没有看到可以直接执行此操作的操作员;那么我应该使用 MySQL/Postgres 运算符将数据放入本地文件中,并使用 S3 运算符将数据移动到 S3 吗?

谢谢

Oma*_*r14 4

您可以构建自己的运算符“mysql_to_s3”并将其作为插件添加到 Airflow。

有一个操作符可以将Mysql中的数据归档到gcs:

mysql_to_gcs.py

def _upload_to_gcs您可以使用 s3_hook 代替:s3_hook.py让所有代码稍加修改。

有关自定义插件的文档:

Airflow 插件:博客文章

Airflow 插件:官方文档