我在BigQuery中有一张表格,我不断将数据流式传输到其中。
由于按照@Felipe的建议to this question,在插入过程中未更新Bigquery集群,因此我想在表上运行Merge
命令以强制构建集群。
但是,当我这样做时,会出现此错误
对表projectId.datasetId.Jobs的UPDATE或DELETE语句会影响流缓冲区中的行,这不受支持
这是我尝试使用的merge
命令的示例:
MERGE
`projectId.datasetId.Jobs` as tgt
USING (SELECT *, _PARTITIONTIME FROM `projectId.datasetId.Jobs` WHERE _PARTITIONTIME IS NOT NULL) as src
ON
FALSE
WHEN
NOT MATCHED AND src._PARTITIONTIME = '2019-04-01 00:00:00'
THEN
INSERT (
_PARTITIONTIME,
ts,
)
VALUES (
_PARTITIONTIME,
ts,
)
WHEN
NOT MATCHED BY SOURCE AND tgt._PARTITIONTIME = '2019-04-01 00:00:00' AND tgt._PARTITIONTIME IS NOT NULL
THEN
DELETE
所以现在我想在流缓冲区中获取数据以解决此问题。根据Bigquery文档,这样做的方法是使用_partitionTime IS NULL
,例如:
SELECT * FROM
`project.dataset.Jobs` WHERE _partitionTime IS NULL
此查询始终返回空结果
关于如何查看流缓冲区中数据的任何想法?