如何在Big Query中重命名列?

时间:2017-02-24 15:00:49

标签: google-bigquery bigdata

我们正在手动将数据存储表(即种类)(在云存储中作为备份)加载到Big Query中。有没有办法在加载到Big Query之前转换(重命名等)数据存储列。当在Big Query中加载数据存储类型备份时,它似乎支持E(提取)和L(加载)的功能,但不支持T(转换)。 问题是我们将列密钥作为数据存储区中的主要字段,因此当加载到Big Query中时,我们会看到名称为“_key__.id”的列。 我们希望此列加载名称“id”而不是“_key__.id”。所以只是想知道,有没有办法在Big Query中重命名列?
及时的帮助是值得欣赏的。

1 个答案:

答案 0 :(得分:2)

" T"通过SQL查询支持ETL的一部分。您可以直接使用查询数据存储区备份作为外部表(https://cloud.google.com/bigquery/external-data-sources),也可以先加载到临时表中,然后运行SQL进行转换。 在标准SQL中重命名将如下所示:

SELECT * EXCEPT(oldname1, oldname2), oldname1 as newname1, oldname2 as newname2 FROM ...

但是既然你提到用点分隔的名字:_key__.id它可能是嵌套字段,_key__的类型是RECORD,所以SQL看起来像

SELECT * EXCEPT(_key__), _key__.id AS id FROM ...