BigQuery - 记录字段中的灵活架构

时间:2015-06-23 16:19:29

标签: json google-bigquery record

我有一个BigQuery模式,其中Record字段与JSON类似,但是,JSON中的键是动态的,即新键可能会出现新数据,并且很难知道总共有多少键。根据我的理解,不可能将BigQuery用于这样的表,因为需要显式定义记录字段类型的模式,否则它将引发错误。

唯一的另一种选择是在查询将通过JSON(文本)字段解析的数据时使用JSON_EXTRACT函数。我们可以在BigQuery的表中使用动态嵌套模式吗?

1 个答案:

答案 0 :(得分:8)

可以为公共字段创建固定模式,您可以将它们设置为可空。并且作为类型字符串的列可用于存储JSON的其余部分,并使用JSON函数来查询数据。

我们的表中始终有一个meta列,它将其他原始非结构化数据保存为JSON对象。

请注意,目前您可以在字符串列中存储最多2兆字节,这对于JSON文档来说是不错的。

为了更容易处理数据,您可以从使用JSON_EXTRACT的查询创建视图,并在其他更简单的查询中引用视图表。

同样在流式插入阶段,您的应用可以将JSON非规范化为正确的表格。