BigQuery:如何将我的一个列的类型从INTEGER更改为STRING?

时间:2014-05-16 20:03:41

标签: google-bigquery

在BigQuery中,假设我有一个包含X字段的现有表。字段1当前是INTEGER但我想将其更改为STRING。

我需要保留当前在Field 1中的数据,同时能够将字符串数据插入到该字段中。

我认为Google BigQuery目前无法修改列的类型。我认为我们可以对表进行的唯一修改是使用Table.Update command

添加列

那么最好的办法是什么?

我正在考虑这样做,但我希望有更好的解决方案:

  
      
  1. 从MyTable选择STRING(field1)为field1,field2,field3,fieldX
  2.   
  3. 将结果导出为TempTable
  4.   
  5. 删除MyTable
  6.   
  7. 将TempTable复制到MyTable
  8.   

然后我就可以在field1中插入字符串了。

1 个答案:

答案 0 :(得分:8)

步骤1-4都可以在一个原子步骤中完成。只需在查询中设置目标表,并使用allow_large_results并使用write_truncate将结果写回原始表。这将更新您的表格。