首页 > 解决方案 > BigQuery 中的拒绝/不良记录表

问题描述

我正在寻找重复数据删除方案中的拒绝链接类型的解决方案。例如在以下代码中:

MERGE 
temp.many_random t 
USING 
( SELECT DISTINCT * FROM temp.many_random WHERE d=CURRENT_DATE() ) 
ON FALSE 
WHEN NOT MATCHED 
BY SOURCE AND d=CURRENT_DATE() THEN DELETE 
WHEN NOT MATCHED BY TARGET THEN INSERT ROW

我可以用类似(不同于比较表)的THEN DELETE东西替换,以便我们可以捕获这些拒绝并排除故障以进行管道分析吗?INSERT INTO TABLE

标签: google-bigquery

解决方案


如果我理解这个问题,您希望MERGE查询结果写入 2 个不同的表。

由于MERGE不能这样做,我建议编写 2 个查询:

  • 一个执行主查询正在执行的任何操作。
  • 第二个几乎相同,但是将错误的记录写入不同的表。

推荐阅读