用于存储和查询json数据的Apache spark是一个很好的用例吗?

时间:2015-07-27 05:42:00

标签: json mongodb hadoop database-design architecture

架构 - 关于架构的简要说明,我正在处理人们查询并等待答案的答案引擎(与搜索引擎不同的东西)。后端查找自动答案,或者如果没有直接找到答案,它会将信息片段发送到具有置信度分数的界面。无论生成什么片段和答案都存储在Mongodb集合中。每个查询都会获得一个唯一的URL和snippetid,这个ID我保存在Mongodb中,每当用户从其他搜索引擎跳转到该URL时,就会生成一个从Mongodb集合中获取数据的查询。一开始,这个架构运行良好,但现在数据正在增加,我非常需要更好的架构。

  • 我应该将数据存储在Hadoop中,并且可以编写MR程序来获取数据。
  • 我最好使用火花和鲨鱼吗
  • 我应该坚持使用Mongodb
  • 我应该选择HBase还是HIVE

1 个答案:

答案 0 :(得分:1)

您对架构和技术选择感到困惑。虽然它们是相关的,但这些是不同的概念。 (您可以在过去herehere等找到我写过的一篇文章。

无论如何你的问题 - 一般来说JSON是一种昂贵的格式,每次你拿它都需要重新解析(除非你总是想要的是“blob”)还有其他几种格式,比如Avro,Google ProtoBuff,ORC, Parquet等支持模式演变,但也使用更高效,更快速访问的二进制格式。

关于持久性商店的选择 - 这在很大程度上取决于您的预期用途和预期的负载。请注意,您提到的一些选项旨在完全不同的用法(例如,您可以用于实时查询的HBase与具有丰富分析界面(通过SQL)但是面向批处理的Hive)