将数据推送到BigQuery中的现有表

时间:2019-01-28 18:02:28

标签: java sql google-bigquery

我正在使用Java和SQL将数据推送到BigQuery中的Timestamp分区表。在我的代码中,我指定了目标表:

printf("[X-PENCIL] ...

当我运行它时,它会完美地创建一个表。但是,当我尝试插入新数据时,它抛出BigQueryException声明该表已存在:

let row = workSheet.addRow(rowValues);
            row.fill = {
                type: 'pattern',
                pattern:'solid',
                fgColor:{argb:'#000000'},
                bgColor:{argb:'#FF0000'}
            };

1 个答案:

答案 0 :(得分:0)

在研究了一些文档之后,我找到了一个可行的解决方案:

.setWriteDisposition(WriteDisposition.WRITE_APPEND)

添加以上内容将附加任何数据(即使重复)。我不确定为什么.setDestinationTable()的默认设置等同于WRITE_EMPTY,它将返回重复的错误。 .setDestinationTable()的google文档为:

  

描述应在其中存储查询结果的表。如果不   目前,将创建一个新表来存储结果。

文档可能应该阐明默认值。