BigQuery 的原生 JSON 支持?

Posted

技术标签:

【中文标题】BigQuery 的原生 JSON 支持?【英文标题】:Native JSON support for BigQuery? 【发布时间】:2012-05-11 09:32:39 【问题描述】:

Google BigQuery 是否有计划实施原生 JSON 支持?

我正在考虑将 hive 数据 (~20T) 迁移到 Google BigQuery, 但 Hive 中的表定义包含 BigQuery 不支持的地图类型。

例如,下面的 HiveQL:

select gid, payload['src'] from data_repository;

虽然,它可以通过使用正则表达式来解决。

【问题讨论】:

请注意,我们已经开始支持 JSON 数据摄取,并作为导出格式(请参阅:googledevelopers.blogspot.com/2012/10/got-big-json-bigquery-展开-data.html) 【参考方案1】:

自 2012 年 10 月 1 日起,BigQuery 支持以换行符分隔的 JSON 进行导入和导出。

博文:http://googledevelopers.blogspot.com/2012/10/got-big-json-bigquery-expands-data.html

数据格式文档:https://developers.google.com/bigquery/docs/import#dataformats

【讨论】:

但是截至今天,仍然缺少基本的 JSON 路径操作,例如 [*]:***.com/questions/28719880/…【参考方案2】:

最好的办法是在导入之前将所有类型强制转换为 csv,如果您有复杂的字段,请通过查询中的正则表达式将它们分解(如您所建议的那样)。

也就是说,我们正在积极调查对新输入格式的支持,并希望获得有关哪些格式最有用的反馈。底层查询引擎 (Dremel) 支持类似于 hive 地图类型的类型,但 BigQuery 目前并未公开用于提取嵌套记录的机制。

【讨论】:

以上是关于BigQuery 的原生 JSON 支持?的主要内容,如果未能解决你的问题,请参考以下文章

Cloud Dataflow 中的“辅助输入”是不是支持从 BigQuery 视图中读取?

在bigquery中以编程方式更新/插入数据

如何在 Python 中的 Json 中删除 Null:[]

查找要插入 BigQuery 的列名

BigQuery INSERT DML 语句限制

如何关联多个 BigQuery 数组字段?