在BigQuery中更改记录列的类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在BigQuery中更改记录列的类型相关的知识,希望对你有一定的参考价值。
我在BigQuery中有一个带有RECORD类型列的表。此RECORD列只是一个RECORD,而不是REPEATED列。我想更改记录中元素之一的类型。我的记录定义为:
product_action RECORD NULLABLE
product_action.action_type INTEGER NULLABLE
product_action.checkout_step INTEGER NULLABLE
我想将ACTION_TYPE的类型从INTEGER更改为STRING,但我不知道该怎么做。我知道这涉及选择并转换为新表,但是我不知道正确的语法。这里有一个非常相似的问题,带有答案How to change the col type of a BigQuery repeated record但是它仅适用于REPEATED记录,并且无法将其仅更改为RECORD(不是REPEATED)。
谢谢!
答案
终于可以使用了
SELECT
* REPLACE
(
(
SELECT
AS STRUCT product_action.* EXCEPT (action_type),
CAST(product_action.action_type AS STRING) AS action_type
) AS product_action
),
FROM
`mytable`
以上是关于在BigQuery中更改记录列的类型的主要内容,如果未能解决你的问题,请参考以下文章