来自官方Hive documentation:
Hive的目标是提供可接受的(但不是最佳的)延迟 交互式数据浏览,小型数据集查询或测试 查询。
我不是数据库架构方面的专家,我想知道当上述假设不正确时,是否有替代方案,即在大数据集上进行查询时。
答案 0 :(得分:4)
有几种方法可以使查询运行得更快。我不会详细介绍这些,但你可以探索以下内容:
Cloudera Impala :由cloudera开发http://www.cloudera.com/content/cloudera/en/products-and-services/cdh/impala.html
Presto DB :由Facebook开发http://prestodb.io/
Spark SQL :构建于Spark之上(https://spark.apache.org/sql/)
有很多很好的文章比较了Hive vs Impala和Presto并比较了他们的表现。您可以阅读它们并选择最适合您的用例的那个。这是一个比较其优缺点的链接:http://bigdatanerd.wordpress.com/2013/11/19/war-on-sql-over-hadoop/
答案 1 :(得分:0)
从你的问题我可以看出你想减少查询中的延迟......但是你可以将hdfs作为数据存储区......你有很多替代方案,比如presto和spark sql ......两者都有与hive无缝集成但具有相当大的性能优势.....另一种替代方案可以是将数据存储转移到无sql数据库....如果你想使用HDFS作为数据存储hbase可以提供一些性能优势......其他人可以是蒙戈,卡桑德拉等。