MR3是一个通用的执行引擎,原生支持Hadoop和Kubernetes。
Hive on MR3
0、MR3上的Hive很稳定,向后移植了大约800个安全和关键补丁。
1、MR3上的Hive实现了LLAP甚至更高的速度
LLAP(低延迟分析处理)是Hive的主要组件,它使其性能远远超过竞争技术。
然而,由于其复杂的架构,启用LLAP非常困难。MR3上的Hive无需额外配置即可自动达到LLAP及以上的速度。
2、MR3上的Hive比Tez上的Hive实现了更高的吞吐量
HiveonTez的一个常见用例是运行ETL(提取-转换-加载)作业。凭借其先进的资源共享模型,MR3上的Hive可以节省大量成本,尤其是在许多ETL作业并发运行的情况下
3、MR3上的Hive支持Java17
与仍然需要Java8的ApacheHive不同,MR3上的Hive可以与Java17一起运行。通过切换到Java17,MR3上的Hive可以将运行时间减少多达30%。
4、.MR3上的Hive支持RemoteShuffle服务
RemoteShuffle服务因其众多潜力而被越来越多的技术采用。
MR3上的Hive也在快速发展,以支持RemoteShuffle服务。
目前HiveonMR3支持ApacheCeleborn作为RemoteShuffle服务,可以消除95%以上的本地磁盘写入。
5、没有供应商锁定
在MR3上运行Hive意味着不存在供应商锁定的风险。由于MR3上的Hive与HiveMetastore一起运行,因此用户可以随时切换回ApacheHive或其他技术。
Spark on MR3
允许多个Spark应用程序共享计算资源,例如Yarncontainer或KubernetesPod。
普通Spark,不同的Spark应用程序必须维护自己的一组executor,因为Spark缺乏在Spark应用程序之间回收计算资源的功能。
SparkonMR3易于使用在Hadoop和Kubernetes上,因为它与ApacheSpark的不同之处仅在于任务调度和资源管理。除了在Spark应用程序中回收ContainerWorkers之外,用户还可以利用MR3的容错、推测执行和自动缩放等特性。