簡體   English   中英

寫入 Bigquery 時間單位列分區時,Dataflow 不會創建空分區

[英]Dataflow doesn’t create an empty partition when writing to a Bigquery time-unit column partition

我正在運行查看 BigQuery 的工作流,以查看依賴工作流的 output 是否已成功運行。 問題是有時 output 是空的,但我仍然希望創建該表/分區,即使它不包含數據。

在我為我的表(table_YYYYMMDD)使用分片之前,這工作得很好,因為當沒有數據時,表仍然被創建,這表明工作流運行成功。 現在,當我使用分區表時,數據流不會生成空分區。

當我使用 python BigQuery 庫並上傳一個空文件時,這將創建一個空分區。

我希望我可以設置一些參數來直接解決數據流中的這個問題。

有什么建議么? 這就是我今天的 WriteToBigQuery 步驟的樣子:

        # Write to BigQuery.
        formatted_results | 'Write to BigQuery' >> WriteToBigQuery(
            table="table_name${table_format}".format(table_format=arguments.table_format),
            schema=DESTINATION_SCHEMA,
            additional_bq_parameters={'timePartitioning': {'type': 'HOUR', "field": "timestamp"}},
            create_disposition=beam.io.BigQueryDisposition.CREATE_IF_NEEDED,
            write_disposition=BigQueryDisposition.WRITE_TRUNCATE)

如果沒有數據,Beam 將永遠不會寫入該分區,因此永遠不會創建該分區。 如果您認為這是一個更一般的功能請求,請提交Github 問題

暫無
暫無

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

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