我有一个用户信息表,其中的信息可以来自多个来源。我们可以从内部系统使用情况,第三方合作伙伴或机器学习模型中获取有关用户的信息。相同类型的信息可能来自多个来源,在这种情况下,我想向表中添加新行,将列值更改为最新数据。
例如:
表格列:(ID,名称,电话,邮政编码,电子邮件,时间戳记)
Source A -> id = 1, name = John, telephone: xxx, zipcode: 60014
Source B -> id = 1, email: john@user.com, telephone: yyy
源A在1:00 pm插入数据,源B在1:01 pm插入数据。
当源B填充表时,我想恢复源A已插入的信息,填充电子邮件列,更新电话列,然后添加新行。因此,结果将是:
id, name, telephone, zipcode, email, timestamp
1, John, yyy, 60014, john@user.com, 1:01
1, John, xxx, 60014, NULL, 1:00
在我的测试中,BigQuery对小型查询显示出很高的延迟,因此在每次插入时检查表都非常昂贵。
在最佳情况下,考虑到源A和源B是来自Dataflow的流,我将执行此操作,但这不是确定的要求。
是否可以使用Google BigQuery来实现?