如何使用气流在GCS桶中写入文件



这里有新的气流

我有一个Python代码,它读取一个BigQuery表,将一些转换为pandas DataFrame并将其保存为文件。

使用Airflow,我需要一个DAG来执行我的代码并将其作为文件保存在Google Cloud Storage bucket中。

气流部署在Composer上。

我该怎么做呢?

如果您的转换可以在BigQuery QL中表示,您可以使用BQ到GCS运算符:

https://airflow.apache.org/docs/apache-airflow-providers-google/stable/_api/airflow/providers/google/cloud/transfers/bigquery_to_gcs/index.html

例子:

https://github.com/apache/airflow/blob/main/airflow/providers/google/cloud/example_dags/example_bigquery_to_gcs.py

如果你需要做更复杂的转换,你没有外部服务可以编排,创建一个使用BigQuery钩子和GCS钩子的自定义操作符,并做你想做的事情。这比你想象的要简单——只要看一下BQToGCS操作符,你就会发现它相当简单。

https://github.com/apache/airflow/blob/main/airflow/providers/google/cloud/transfers/bigquery_to_gcs.py

Airflow都是Python的——因此,如果您将现有的操作符组合到DAG中,或者编写自己的操作符(然后组合它们),它实际上不会改变太多。都是python代码。气流实现了钩子抽象,特别是为了能够隐藏与服务通信的复杂性,但允许您作为DAG/Operator的作者使用钩子编写操作符代码并执行一些额外的操作。

相关内容

  • 没有找到相关文章

最新更新