使用 bq 命令行覆盖表

Posted

技术标签:

【中文标题】使用 bq 命令行覆盖表【英文标题】:Override table using bq command line 【发布时间】:2016-05-30 14:52:05 【问题描述】:

我有一个 Python 脚本(如下所示),它在“query.txt”中运行查询并将其上传到谷歌大查询。该脚本必须每 5 分钟运行一次。第一次它正确,但第二次,它抛出错误“表已存在”。如果表已经存在,我必须覆盖它。我在 bq 帮助中找不到任何覆盖选项。任何帮助将不胜感激。

commandStr = "type C:\Users\sridevibaskaran\query.txt | bq query --destination_table geotab-bigdata-test:TestSridevi.DeviceCarrier_%s -n 1" %(dateToday1)
os.system(commandStr)
print commandStr

【问题讨论】:

【参考方案1】:

运行 bq help query 并检查 replace 标志

--[no]replace:如果为true,则在加载新数据之前擦除现有内容。 (默认:'false')

【讨论】:

以上是关于使用 bq 命令行覆盖表的主要内容,如果未能解决你的问题,请参考以下文章

如何在 BQ 命令行中设置 Bigquery 需要分区过滤器

BigQuery 从 bq 命令行工具加载数据 - 如何跳过标题行

用于扩展或增强 bq 命令行的 Google BigQuery bq 命令行 SDK

bq 命令行工具 - 如何插入具有嵌套字段的大查询表?

Bq 命令或数据流按原样加载

Google BQ:运行参数化查询,其中参数变量是BQ表目标