首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache钻取JSON查询性能

Apache钻取JSON查询性能
EN

Stack Overflow用户
提问于 2017-11-08 19:15:11
回答 1查看 372关注 0票数 0

我需要帮助来提高运行json聚合查询的性能。

我在json上的简单count(*)聚合查询只需11分钟就能完成640 My的数据。

我有一个单节点集群(8个核心,8GB内存,使用本地SSD存储)。

数据统计:

  • 163,783份json文件
  • 640共计

在演练UI中,我可以看到以下内容:

持续时间: 11分钟27.665秒*计划*:06分钟30.337秒排队:不可执行: 04分钟57.328秒

我能做些什么来提高性能呢?是否需要更改json文件的存储或压缩以提高读取性能?

EN

回答 1

Stack Overflow用户

发布于 2017-11-09 15:30:44

几件事:

如前所述,这是一个如此小的数据集的大量文件。我通常会发现,在100到200 to范围内的文件、待处理的整体数据集大小和用例中,演练最好。然后,在JSON和查询的复杂性以及系统的速度之前,它通常可以以100到200 of /s的速度处理JSON。

您可以使用演练在数据集中创建较小的文件集,尝试对当前数据集执行CTAS,并将格式设置为JSON。此外,将store.json.writer.uglify设置为true将编写更紧凑的JSON,使用更少的空白(但更少的人类可读性)。或者简单地将当前文件合并到大约100到200 Or的文件与另一个工具。

在JSON上的count()并不像听起来那么简单。如果您试图理解记录的总数,您可以选择一个存在于所有记录中的字段,然后具体地对该字段进行计数。如果您需要执行类似平坦的嵌套操作,您仍然可以选择一个将出现在所有记录中的字段。我发现它比简单的JSON数据计数()更好、更可靠。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47187858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档