在命令行中更新 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 中的表数据的主要内容,如果未能解决你的问题,请参考以下文章
使用标准 SQL 从命令行更新 bigquery 会引发太多位置参数