我计划每天将增量数据附加到BigQuery表.每次我将增量数据添加到现有表时,我想从表中的现有数据中消除重复记录(基于主键列).一种方法是 -
INCR_KEYS)SELECT all_cols from table where pkey_col NOT IN (INCR_KEYS),并将结果存储在新表中.我对这种方法的关注是它创建了一个大表的副本并添加到我的账单中.
如果没有创建重复的表,是否有更好的方法来实现相同的目标?
我有一些包含数据的包数据如下:
packageid-->string
status--->string
status_type--->string
scans--->record(repeated)
scanid--->string
status--->string
scannedby--->string
Run Code Online (Sandbox Code Playgroud)
每天,我有10万包的数据.每天的总包数据大小变为100 MB(大约),1个月后变为3GB.对于每个包,可以进行3-4次更新.因此,每次更新软件包(例如,仅更改状态字段)时,我是否必须覆盖软件包表?
假设我在表中有3个包的数据,现在第二个包的更新来了,我是否必须覆盖整个表(删除和添加整个数据需要每个包更新2个事务)?对于10万个包裹,总交易量将为10 ^ 5*10 ^ 5*2/2.
在没有覆盖表的情况下,还有其他原子更新方法吗?(好像该表包含100万个条目,然后包更新到来,然后覆盖整个表将是一个开销.)