Google bigquery Bigquery调度将数据加载到特定分区的查询

Google bigquery Bigquery调度将数据加载到特定分区的查询,google-bigquery,Google Bigquery,我使用bigquery计划查询功能每30分钟运行一次查询。 我的目标表将是一个分区表,分区列是'event\u date' 我使用的计划查询将从source\u table->Dest\u table (如从源\表中选择*,其中事件\日期=当前\日期()) 每30分钟, 但是我希望它能够在不写截短整个表的情况下写截短现有分区(因为我不想每30分钟复制一次今天的数据) 当前,当我将分区\u字段设置为事件\u日期和写入\u截断时,它会截断整个表,这会导致以前的数据丢失。是否还有其他我缺少的内容您可以

我使用bigquery计划查询功能每30分钟运行一次查询。 我的目标表将是一个分区表,分区列是
'event\u date'

我使用的计划查询将从
source\u table->Dest\u table
(如
从源\表中选择*,其中事件\日期=当前\日期()
) 每30分钟, 但是我希望它能够在不写截短整个表的情况下写截短现有分区(因为我不想每30分钟复制一次今天的数据)


当前,当我将
分区\u字段
设置为
事件\u日期
写入\u截断
时,它会截断整个表,这会导致以前的数据丢失。是否还有其他我缺少的内容

您可以使用MERGE只截断一个分区,而不是指定目标表

不幸的是,它更昂贵,因为您还需要支付从dest_表中删除数据的费用。(插入仍然是免费的)

MERGE dest_table t
USING source_table
ON FALSE
WHEN NOT MATCHED BY SOURCE AND event_date=CURRENT_DATE() THEN DELETE
WHEN NOT MATCHED BY TARGET THEN INSERT ROW