将数组保存到 BigQuery

Posted

技术标签:

【中文标题】将数组保存到 BigQuery【英文标题】:Save array to BigQuery 【发布时间】:2018-03-28 14:45:08 【问题描述】:

我刚刚开始使用 BigQuery,我想知道我是否可以在本地使用数组,或者我应该使用 json 字符串来代替。大查询中未将数组数据类型列为受支持的类型。我需要将用户对象的数组(列表)保存到 BigQuery。

目前最好的方法是什么?

【问题讨论】:

【参考方案1】:

大查询中未将数组数据类型列为支持的类型。

是的,它是受支持的数据类型。来自the data types documentation:

ARRAY 是零个或多个非 ARRAY 值元素的有序列表。

【讨论】:

为什么在创建表格的表单中看不到类型数组? 当前 UI 对类型使用 BigQuery“旧版 SQL”概念,因此您必须选择“REPEATED”作为列的模式来创建数组。如果要直接指定ARRAY 类型,请使用CREATE TABLE statement。【参考方案2】:

大查询中未将数组数据类型列为支持的类型。

但是,使用 RECORD 数据类型。

https://cloud.google.com/bigquery/docs/nested-repeated

【讨论】:

这实际上并没有回答 OP 问题。嵌套和重复是两种不同的类型,记录使用嵌套和重复。

以上是关于将数组保存到 BigQuery的主要内容,如果未能解决你的问题,请参考以下文章

将数组保存到 JSON 文件,然后使用 Array.push() 将数据保存在其中

将数组保存到 BigQuery

“数组到字符串的转换”错误 Laravel - 尝试将数组保存到数据库

如何将json对象数组保存到猫鼬?

如何将json对象数组保存到猫鼬?

将多维数组保存到存储