我尝试在BigQuery time-partionned表中添加新列。我使用bq命令行工具(不是API),因为我使用Talend for BigData进行加载。
在普通表中,以下命令成功:
bq update -t dataset.Mytable newcol:type
在时间分区表上,我有"提供架构与Table MyTable不匹配"
当我尝试在Google控制台中添加新字段时,它也会成功,但我没有执行此操作的命令。任何人都知道它是否可能以及如何?
我必须添加列而不是重新创建表格,因为我不想丢失我的分区/历史记录。
谢谢。
答案 0 :(得分:0)
我不认为命令会在普通表上成功。您必须提供完整的架构,而不仅仅是新列。
bq mk MyDataset.MyTable f1:string
Table 'MyProject:MyDataset.MyTable' successfully created.
bq update -t MyDataset.MyTable f2:string
BigQuery error in update operation: Provided Schema does not match Table
bq update -t MyDataset.MyTable f1:string,f2:string
Table 'MyProject:MyDataset.MyTable' successfully updated.