我有一个 bigQuery 表,其中包含从 JSON 文件加载的大约 2M 行。JSON 文件中的实际字段为 10,但根据初始 DDL,表有 7 列。现在我更改了表格并添加了剩余的三列。更改后,新添加的列中的值用 NULL 填充。
现在我想回填现有 2M 行中的数据,但只有这三个新添加的列包含来自 json 文件的实际数据。我如何批量更新表,以便现有的列值保持不变并且只更新新的列值。
注意:表启用了流缓冲区,并且表未分区。
我有一个 bigQuery 表,其中包含从 JSON 文件加载的大约 2M 行。JSON 文件中的实际字段为 10,但根据初始 DDL,表有 7 列。现在我更改了表格并添加了剩余的三列。更改后,新添加的列中的值用 NULL 填充。
现在我想回填现有 2M 行中的数据,但只有这三个新添加的列包含来自 json 文件的实际数据。我如何批量更新表,以便现有的列值保持不变并且只更新新的列值。
注意:表启用了流缓冲区,并且表未分区。
现在我想回填现有 2M 行中的数据,但只有这三个新添加的列包含来自 json 文件的实际数据。
由于加载数据是免费的,我会重新加载整个表并WRITE_TRUNCATE
选择覆盖现有数据。
你说的让我很困惑,因为:
-- 更新:根据评论,加载的行似乎已以某种方式更改。然后:
对于您未来的数据加载,如果您希望加载是增量的(无论是在行上还是在列上),最好让您加载的表保持不变,以便它代表“完整事实”并将“更改的行”单独保存表,假设您有一个逻辑主键来匹配它们。