在Google Cloud Platform上,我有多个结算帐户。对于每个结算帐户,我创建了一个计划导出到BigQuery的文件,该导出每天要执行多次。
不过,我想对我所有的结算帐户进行概述。我想创建一个包含所有帐单帐户的主数据表。
所有数据表都具有完全相同的架构。一些示例字段:
cost:FLOAT
sku:STRING
service:STRING
我已经通过JOIN查询成功连接了我的两个数据表:
SELECT * FROM `TABLE 1`
UNION ALL
SELECT * FROM `TABLE 2`
查询后,单击“保存结果”->“ BigQuery表”。但是,我相信这只是一次出口。
我想定期更新(例如,每3小时更新一次),而不必重复输入。
如何在确保没有重复行的同时连续合并这些数据表?换句话说,对于同时出现在两个表中的新条目,我如何仅将那些新条目追加到新的主表中?
答案 0 :(得分:1)
使用视图:
create view v_t as
select * from `TABLE 1`
union all
select * from `TABLE 2`;
这将始终是最新的,因为查询表时会引用这些表。
注意:您可以通过运行查询并选择“创建视图”,使用BQ查询界面创建视图。实际上,您不需要运行查询,但是我总是这样做只是为了确保。