在云中跨大型 JSON 数据集运行类似 SQL 的查询?
Posted
技术标签:
【中文标题】在云中跨大型 JSON 数据集运行类似 SQL 的查询?【英文标题】:Run SQL-like queries across large JSON datasets, in the cloud? 【发布时间】:2017-07-04 16:07:22 【问题描述】:是否有符合这些要求的产品:
运行类似 SQL 的查询(最好使用友好的 UI,但必要时可以使用命令行) 跨越数百万个文档的大部分静态 JSON 数据集,没有一致的架构 JSON 文档存储在云端,而不是本地。基本上,我想要 Google BigQuery,但不需要一致的预先指定架构。
Apache Drill 提供跨具有不同模式的大型 JSON 数据集的类似 SQL 的查询。但是,我认为它不适用于云托管的数据集 - 已将其设置为与 S3 存储桶通信,并且似乎需要在本地下载所有数据,这使得它无法用于大型数据集。
【问题讨论】:
【参考方案1】:BigQuery 需要静态架构,但一种选择是将表定义为 CSV,并带有一个不出现在数据中的分隔符,这意味着您将拥有一个字符串列。您将仅限于使用 JSON_EXTRACT
函数从 JSON 中提取数据,但您可以从那里转换为其他数据类型等等。
您还可以考虑 filing a feature request 让 BigQuery 团队考虑支持一种文档类型,以便将来更轻松地处理此类数据。
【讨论】:
以上是关于在云中跨大型 JSON 数据集运行类似 SQL 的查询?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 pandas 数据框中的大型每日 JSON 数据集计算平均月值?