簡體   English   中英

我如何覆蓋(而不是追加)Airflow“DataflowTemplateOperator()”中目標表中的數據?

[英]How can i overwrite (instead of append) the data in destination table in Airflow "DataflowTemplateOperator()"?

我正在使用 Airflow DataflowTemplateOperator() 將數據從 Mssql 遷移到 Bigquery,使用 JDBC 到 Bigquery 數據流模板。

默認情況下,它會將數據附加到目標 Bigquery 表中。

我想先截斷表,然后再寫入新行。

是否有任何默認參數將數據流/DataflowTemplateOperator 設置從 append 更改為覆蓋???

數據流模板在 GitHub 中公開可用,包括Java Database Connectivity (JDBC) to BigQuery 雖然,您不能直接修改它們,但您可以使用提供的模板作為源代碼來創建自定義模板,只需更改WriteDisposition

如果您在此處查看您當前使用的模板的源代碼,您可以在第 102 行看到WriteDispositionWRITE_APPEND ` 而不是WRITE_TRUNCATE 下面,我將描述通過創建新模板來更改模板的步驟。

  1. 為了創建一個新模板,將源代碼從 Google 的GitHub頁面復制到一個新的.java文件;
  2. 在第 102 行中,將WriteDisposition更改為WRITE_TRUNCATE
  3. 編輯代碼后,您需要創建和暫存模板,如文檔中所述;
  4. 確保目標表存在於 BigQuery 中並且滿足模板的這些要求
  5. 執行自定義模板,如文檔中所述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM