使用 Airflow 将数据从 Postgres/MySQL 移动到 S3
Move data from Postgres/MySQL to S3 using Airflow
我们正在尝试从 Pentaho Kettle 迁移到 Apache AIrflow 以执行 ETL 并将所有数据处理集中在一个工具下。
我们每天使用Kettle从Postgres/Mysql数据库中读取数据,并将数据移动到S3 -> Redshift。
最简单的方法是什么?我没有看到可以直接执行此操作的操作员;所以我应该使用 MySQL/Postgres 运算符将数据放入本地文件,并使用 S3 运算符将数据移动到 S3 吗?
谢谢
您可以构建自己的运算符 'mysql_to_s3' 并将其作为插件添加到 Airflow。
有一个操作员可以将数据从 Mysql 存档到 gcs:
您可以使用 s3_hook 代替 def _upload_to_gcs
上的所有代码稍作更改:s3_hook.py.
关于自定义插件的文档:
airflow-plugins(天文学家)有一个 MySqlToS3Operator
,它将获取 mysql 查询的结果集并将其作为 csv 或 json.
插件可以在这里找到:
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
我们正在尝试从 Pentaho Kettle 迁移到 Apache AIrflow 以执行 ETL 并将所有数据处理集中在一个工具下。
我们每天使用Kettle从Postgres/Mysql数据库中读取数据,并将数据移动到S3 -> Redshift。
最简单的方法是什么?我没有看到可以直接执行此操作的操作员;所以我应该使用 MySQL/Postgres 运算符将数据放入本地文件,并使用 S3 运算符将数据移动到 S3 吗?
谢谢
您可以构建自己的运算符 'mysql_to_s3' 并将其作为插件添加到 Airflow。
有一个操作员可以将数据从 Mysql 存档到 gcs:
您可以使用 s3_hook 代替 def _upload_to_gcs
上的所有代码稍作更改:s3_hook.py.
关于自定义插件的文档:
airflow-plugins(天文学家)有一个 MySqlToS3Operator
,它将获取 mysql 查询的结果集并将其作为 csv 或 json.
插件可以在这里找到: 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