如何使用WRITE_EMPTY标志从命令行将数据加载到BigQuery中?

时间:2019-03-20 20:47:18

标签: google-bigquery command-line-interface

我正在从命令行将CSV数据加载到BigQuery中。如果该表已经存在,我想防止发生该操作。我不想截断该表(如果存在),也不想追加到表上。

似乎there is no command line option for this

enter image description here

但是,我觉得我可能会缺少一些东西。这真的是无法从命令行界面使用的选项吗?

2 个答案:

答案 0 :(得分:1)

我认为您正确的CLI现在不支持WRITE_EMPTY模式。

您可以提出功能请求以使其具有优先级。

答案 1 :(得分:1)

为此,可能的解决方法是使用bq cp,如下所示:

  1. 将数据上传到边表,每次上传时截断数据
bq --location=US load --autodetect --source_format=CSV dataset.table ./dataRaw.csv
  1. 使用支持覆盖标志的bq cp将数据复制到目标表中
bq --location=US cp -n dataset.dataRaw dataset.tableNotToOverWrite

如果该表存在,则会出现以下错误:

  

表'project:dataset.table'已存在,正在跳过