我们虔诚地使用 BigQuery,并且有两个表基本上是由不同的进程并行更新的。我遇到的问题是我们没有表的唯一标识符,目标是尽可能将这两个表与零重复结合起来。唯一标识符是两列的组合。
我尝试了各种基于 MySQL 的查询,但似乎没有一个在 BigQuery 中有效。所以我在这里发帖寻求帮助。:)
步骤 1. 将“干净”表复制到新的合并表中。
步骤 2. 查询“脏”(旧)表并插入任何缺失的条目。
查询尝试 1:
SELECT
COUNT(c.*)
FROM
[flash-student-96619:device_data.device_datav3_20160530] AS old
WHERE NOT EXISTS (
SELECT
1
FROM
[flash-student-96619:device_data_v7_merged.20160530] AS new
WHERE
new.dsn = old.dsn
AND new.timestamp = old.timestamp
)
错误:错误:6.1 - 10.65。一次只能执行一个查询。
查询尝试 2:
SELECT
*
FROM
[flash-student-96619:device_data.device_datav3_20160530]
WHERE
(dsn, timestamp) NOT IN (
SELECT
dsn,
timestamp
FROM
[flash-student-96619:device_data_v7_merged.20160530]
)
错误:在第 6 行第 7 列遇到“”、“”、“”。期待:“)”...
老实说,如果我能在一个查询中做到这一点,我会很高兴的。我需要从两个表中获取,并使用唯一数据创建一个新表。
有什么帮助吗?