gpt4 book ai didi

google-bigquery - 修改重复的列 Bigquery

转载 作者:行者123 更新时间:2023-12-03 05:10:48 24 4
gpt4 key购买 nike

我有一个表格,其中包含重复和不重复的列。

{
"Id": "0",
"textField": [
"value1",
"value2",
"value3"
],
"numericField": [
"10"
],
"dateField": "2016-02-24 15:48:00 UTC"
}

Id INTEGER REQUIRED
textField STRING REPEATED
numericField INTEGER REPEATED
dateField TIMESTAMP NULLABLE

但是“textField”字段必须重复,而“numericField”字段必须不重复。

我尝试将信息复制到另一个包含已更改字段的表中,但这会替换我的字段并让我的字段重复 https://cloud.google.com/bigquery/docs/tables#copyingtable

我尝试从查询创建表,但我不知道如何定义查询,以便“重复”的“textField”字段不会更改,并且“numericField”变为不重复。 https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.query.tableDefinitions

如何更改字段而不丢失信息?

最佳答案

您可以使用 FLATTEN 进行查询来执行此操作函数并关闭查询结果自动展平。

SELECT Id, textField, numericField, dateField 
FROM FLATTEN([dataset.table], numericField);

您可以关闭查询结果的自动展平,这将保留文本字段的重复性。在查询配置中,设置allowLargeResults为真且 flattenResults为假。这两个选项都可以在 Web UI 或 bq CLI 中使用类似的名称。

警告:如果一行中有多个 numericField 值,这将导致行的叉积扩展(例如,每个输入行中的每个 numericField 值有一个输出行)。这对您来说可能是问题,也可能不是问题(您的示例行没有多个 numericField 值),并且可能是也可能不是您想要做的事情。

关于google-bigquery - 修改重复的列 Bigquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35636118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com