Command line 更新大查询表模式

Command line 更新大查询表模式,command-line,google-bigquery,Command Line,Google Bigquery,我已经在BQ中有一个表,其中填充了数据。我想重命名表的标题(更新模式)。我正在使用命令行工具 假设这是与此类似的东西 bq update --schema:Col1:STRING,Col2:STRING....... data_set.Table_Name 但是我越来越 致命标志分析错误:未知的命令行标志“架构:Col1:STRING,Col2:STRING…” 我缺少什么?命令行上的正确语法是 bq更新——模式col1:STRING,col2,STRING数据集。表 但是,架构更改不支持重命

我已经在BQ中有一个表,其中填充了数据。我想重命名表的标题(更新模式)。我正在使用命令行工具

假设这是与此类似的东西

bq update --schema:Col1:STRING,Col2:STRING....... data_set.Table_Name
但是我越来越

致命标志分析错误:未知的命令行标志“架构:Col1:STRING,Col2:STRING…”


我缺少什么?

命令行上的正确语法是

bq更新——模式col1:STRING,col2,STRING数据集。表

但是,架构更改不支持重命名字段-您将收到以下错误消息

提供的架构与表不匹配


您只能添加新字段或放宽现有字段(即从REQUIRED到NULLABLE)。

正如Mosha所说,API不支持重命名列,但您可以运行扫描整个表并覆盖它的查询

bq query --nouse_legacy_sql \
 --destination_table p:d.table \
 --replace \
 'SELECT * EXCEPT(col1,col2), col1 AS newcol1, col2 AS newcol2 FROM `p.d.table`'
警告:这将覆盖该表。但这正是你想要的