Мне было интересно, есть ли способ запретить дубликаты из BigQuery?
На основании этой статьи Я могу дедуплицировать целое или раздел таблицы.
Чтобы дедуплицировать всю таблицу:
CREATE OR REPLACE TABLE `transactions.testdata`
PARTITION BY date
AS SELECT DISTINCT * FROM `transactions.testdata`;
Чтобы дедуплицировать таблицу на основе разделов, определенных в предложении WHERE
:
MERGE `transactions.testdata` t
USING (
SELECT DISTINCT *
FROM `transactions.testdata`
WHERE date=CURRENT_DATE()
)
ON FALSE
WHEN NOT MATCHED BY SOURCE AND date=CURRENT_DATE() THEN DELETE
WHEN NOT MATCHED BY TARGET THEN INSERT ROW
Если нет способа чтобы запретить дубликаты, является ли это разумным подходом для дедупликации таблицы?