![](/img/trans.png)
[英]Left join with CoGroupByKey sink to BigQuery using Dataflow
[英]Import csv files from GCS and transform using Dataflow then sink to BigQuery using Airflow sensors
我是 Cloud Composer 的新手。 My use case is: There are several files type in GCS like json, csv, txt,.. but I only want to select csv file, use Dataflow in Python to transform them (such as rename fields,...), then write它到 BigQuery。 主要要求是使用 Airflow 傳感器在將新的 csv 文件導入 GCS 時觸發它們。
有誰知道如何使用Cloud Composer 編寫它-Airflow 傳感器(此處沒有雲 function):GCS(僅 csv 文件)-數據流-BigQuery
對於Airflow傳感器,可以使用google cloud airflow sensor for GCS來檢測GCS文件夾中是否有新文件。
對於處理部分,您可以使用ReadFromText
並確保只選擇 CSV 文件。 如果您只需要處理新的 CSV 文件,則可以將傳感器檢測到的新文件列表作為參數傳遞給數據流作業。
對於 composer 的數據流作業,我建議在 flex 模板中構建您的作業,然后您可以使用DataflowStartFlexTemplateOperator
從 composer 觸發 flex 模板。 下面是一個關於如何使用它的例子:
my_dataflow_job = DataflowStartFlexTemplateOperator(
location="europe-west1",
task_id="my-task-id",
body={
"launchParameter": {
"containerSpecGcsPath": "gcs_path_to_the_flex_template_json_path",
"jobName": "my-job-name",
"environment": {
"serviceAccountEmail": "xxx",
},
"parameters": {
"key": "val",
"key" : "val"
},
}
},
)
對於 BigQuery 的保存部分,它應該是您數據流工作的一部分
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.