我正在将数据从SQL迁移到Hadoop,其中我也使用了HBase & Hadoop。我已经成功地将数据从SQL导入到Hadoop、HBase和Hive。但问题在于系统的性能。在SQL中,我在5-10分钟内得到了数百万条条目的结果,但是从HBase & Hive获取1000万个数据需要花费大约1小时的时间。有人能帮我提高Hadoop系统的性能吗?
发布于 2015-11-20 19:45:25
HBase中的数据仅按行键进行“索引”。如果您在Hive中查询的不是行键前缀,则通常要执行完整的表扫描。
可以使用HBase过滤器进行一些优化,例如,当使用FamilyFilter时,您可能能够跳过整个区域,但我怀疑Hive是否会这样做。
如何提高性能取决于您的数据是如何形成的,以及您需要对其执行什么分析。在执行频繁的即席分析时,最好将数据从HBase导出到类似HDFS上的Parquet文件中,并针对那些带有Hive (或者钻孔或火花、Imapala等)的用户运行分析。
https://stackoverflow.com/questions/33833171
复制相似问题