在命令行中更新 bigquery 中的表数据

Posted

技术标签:

【中文标题】在命令行中更新 bigquery 中的表数据【英文标题】:Update table data in biq query in command line 【发布时间】:2018-05-08 13:28:26 【问题描述】:

我正在尝试更新满足条件的大查询表。我在命令行中尝试通过错误

bq update `project_d.data_set.table_name`set field1='1011' , field2='201' , field3='2001' where id='7001'

但我在命令提示符中遇到错误,例如

Too many positional args, still have [',', 'field2=201', ',', 'field3=2001', 'where', 'id', '=7001']

请帮我解决这个问题

【问题讨论】:

【参考方案1】:

bq update 更新表的属性,例如过期时间。如果要运行UPDATE 查询,请使用bq query。将以下内容(替换您的项目、数据集和表名)放入名为例如的文件中。 query.sql:

UPDATE `project_d.data_set.table_name`
SET
  field1 = '1011',
  field2 = '201',
  field3 = '2001'
WHERE id = '7001'

现在运行bq query,将该文件作为输入:

bq query --use_legacy_sql=false < query.sql

【讨论】:

【参考方案2】:

不用外部 sql 文件,只需添加--use_legacy_sql=false

bq query --use_legacy_sql=false 'update dataset.table SET id=id*100 where id>100'

【讨论】:

以上是关于在命令行中更新 bigquery 中的表数据的主要内容,如果未能解决你的问题,请参考以下文章

Kafka Bigquery中的重复行

使用标准 SQL 从命令行更新 bigquery 会引发太多位置参数

通过命令行在 BigQuery 中加载数据时出错:已更新

如何在 ORACLE 11G EXPRESS 版命令行中保存数据? [复制]

BigQuery 命令行工具返回不同的结果

如何在文件中从SQL源创建BigQuery视图(Windows命令行)