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

Posted

技术标签:

【中文标题】BigQuery:如何将我的一列的类型从 INTEGER 更改为 STRING?【英文标题】:BigQuery: How can I change the type of one of my column from INTEGER to STRING? 【发布时间】:2014-05-16 20:03:41 【问题描述】:

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

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

我认为目前在 Google BigQuery 中无法修改列的类型。我认为我们可以对表进行的唯一修改是添加带有Table.Update command 的列

那么最好的方法是什么?

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

    从 MyTable 中选择 STRING(field1) 作为 field1、field2、field3、fieldX 将结果导出到 TempTable 中 删除我的表 将 TempTable 复制到 MyTable

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

如果您能提供更多关于“如何”完成的详细信息或提供一些参考链接等,那就完美了。 您介意回答这个问题吗? ***.com/questions/36071216/… 我需要相同的用例,但我有_PARTITIONTIME(我的表是分区的),那么如何复制到带有字段_PARTITIONTIME的目标表?

以上是关于BigQuery:如何将我的一列的类型从 INTEGER 更改为 STRING?的主要内容,如果未能解决你的问题,请参考以下文章

如何仅在 QTableWidget 的一列中添加一行?

如何对另一列的分组中的一列求和?

Google BigQuery - 根据另一列中的值减去一列的 SUM

为啥 BigQuery 没有删除列的选项?

MYSQL 中的日期格式不正确

更改 BigQuery 中记录列的类型