将数组保存到 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() 将数据保存在其中