如何使用Apps Script向BigQuery表追加数据(避免覆盖)
解决BigQuery数据追加问题
你遇到的覆盖数据问题,是因为BigQuery的Load Job默认的writeDisposition参数值为WRITE_TRUNCATE,会清空目标表原有数据再写入新数据。要实现追加效果,只需在Load Job的配置里显式设置writeDisposition: 'WRITE_APPEND'即可。
修改后的job配置代码如下:
const job = { configuration: { load: { destinationTable: { projectId: projectId, datasetId: datasetId, tableId: tableId }, source_format: 'CSV', schema: schema, // 添加该参数实现数据追加 writeDisposition: 'WRITE_APPEND' } } };
补充说明:
WRITE_APPEND会将新数据追加到目标表末尾;如果目标表不存在,BigQuery会自动根据你指定的schema创建表,因此你原有代码中尝试创建表的BigQuery.Tables.insert逻辑可保留,也可直接移除。
内容的提问来源于stack exchange,提问作者Terenty Karbyshev
相关产品推荐
相关产品推荐

