常用的分布式计算引擎

本文讨论了在大数据场景下,NoSQL数据库如Hive如何通过Hive-on-MR、Hive-on-Tez和Hive-on-Spark等计算框架实现多表关联。Hive对比Spark和MR在处理大规模数据时的效率差异,以及Tez对MR的优化作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录一下,作为备忘。

常用的分布式计算引擎

多表关联的问题,由于NoSQL数据库主要用于海量存储和单表查询,一般都不支持join,需借助更上层的计算框架来实现多表关联,比如:

计算框架支持数据源执行效率
Hive本地文件、HDFS、HBase,通过第三方工具也能支持MongoDBHive-on-MR的效率是很差的,3条记录的表select count(*)花了18s!而且Hive2自己也不推荐再用Hive-on-MR了,而是用Hive-on-spark或Hive-on-Tez
Spark本地文件、HDFS、HBase,通过第三方工具支持MongoDB、CassandraMR之外另辟蹊径的准实时计算框架。数据量超过百万行后的效率优于关系数据库(RDB);10w以内的效率虽然比RDB慢,但也在一个数量级内。
TezHDFS与Hive结合使用,仍基于MR框架,但做了作业的裁剪和合并,减少HDFS读写,据说比优化前的MR效率提升百倍。

几种计算框架之间的关系如下图所示:

在这里插入图片描述

MR和Spark是两种不同的底层计算框架,Tez是对MR的优化,Hive是一个高层的计算框架,负责将SQL翻译成不同的底层计算模型(目前能翻译为MR、Tez、Spark三种计算模型),SparkSQL和Hive是同级的计算框架(事实上,SparkSQL的开发时间先于Hive-on-Spark),如其名字所表明的,其只能将SQL翻译为Spark计算模型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值