Spark能否能替代Hive

摘要:在实际生产环境中已经形成了离线以Hive为主,Spark为辅, 实时解决用Flink的大数据架构体系及Impala, Es,Kylin等应用查询引擎但是有很多学习Spark的程序员普遍认为Spark必然会替代Hive成为新的一代大数据仓库标准同时,培训市场也出现了Hive已经落后,学习大数据只需学习

在实际生产环境中已经形成了离线以Hive为主,Spark为辅, 实时解决用Flink的大数据架构体系及Impala, Es,Kylin等应用查询引擎

但是有很多学习Spark的程序员普遍认为Spark必然会替代Hive成为新的一代大数据仓库标准

同时,培训市场也出现了Hive已经落后,学习大数据只需学习Spark相关言论

但结合实际工作的情况来看,这类说法和实际情况并不相符,本文针对数据仓库的几个重要特征做了比照,说明各种利弊,希望对大家有肯定的帮助

希望后续的大家能够去积极理解少量数据仓库需要的配置组件及系统,避免人云亦云,面试的时候引起不必要的争议

Hive? ?VS? ? Spark


?由上表可以看出,Spark不适合作为数据仓库主要有以下几点:

1)Spark本身没有自己的存储与meta库两种最核心的东西,需要依赖HDFS和Hive的相关功能,而社区的发展趋势也没有往这边开发的意思,故Spark是作为一个计算引擎的定位长期存在的;

2)RDD, DataSet、DataFrames的三种计算形式 因为计算过程中没有一个持久化的计算元数据管理导致后续对于数据血缘的解析难渡过大,无法满足数据仓库调度对于数据体系依赖分析及元数据管理相关要求,故不能作为数据仓库的主要使用方式

3)SparkSql是最有潜力成为数据仓库的主要形式,但目前来说依然是以Hive meta库作为元数据管理 hdfs作为数据存储,因为本身的sql解析器不如Hive,一般情况下是用Hive的sql解析器来替换本身的解析器。本质来说SparkSql只是作为hive的计算速度强化版使用

4)在cpu密集任务及复杂计算任务上,它的性能及稳固性远远比不上Hive

5)Spark在运行过程中经常会出现内存错误

再看Hive,拥有一套完整的Hadoop生态组件:

1)Sqoop支持RDS到Hive(HDFS)的互相同步

2)Flume支持日志采集到HDFS

3)拥有自己一套完整的meta库支持元数据管理

4)语言以sql为准,非常方便后续数据仓库的维护,比方数据血缘解析,过滤条件解析

5)Hive的稳固性是目前的Spark无法保证的,在数据仓库做分层设计的情况下,底层的稳固性要求会远高于速度(假如底层一个任务失败,可能导致上层的几千个任务无法执行)

?基于上面所说的,所以Spark替代Hive成为数据仓库的首选时间会比较漫长,而且随着Hive的sql执行引擎逐渐优化后,Spark的优势会越来越低

就目前来说,SparkSql作为数据仓库上层做加快查询的定位相对合适点,并不适合作为整套数据仓库的尤其是需要强稳固性的底层数据调度查询

数据仓库是一套系统性工程,假如单纯以计算性能作为唯一选型标准,难免会陷入后续无尽的维护圈套中

大家喜欢多多关注,你的关注是我最大的动力。

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】2FA验证器 验证码如何登录(2024-04-01 20:18)
【系统环境|】怎么做才能建设好外贸网站?(2023-12-20 10:05)
【系统环境|软件环境】梦幻仙域游戏攻略(2023-12-19 10:02)
【系统环境|软件环境】梦幻仙域游戏攻略(2023-12-19 10:02)
【系统环境|】卡帕部落揭秘潮玩新宠,探究玩法(2023-12-14 09:45)
【系统环境|数据库】 潮玩宇宙游戏道具收集方法(2023-12-12 16:13)
【系统环境|】如何开发搭建卡帕部落模式源码(2023-12-12 10:44)
【系统环境|】遥遥领先!青否数字人直播系统5.0发布,支持真人接管实时驱动!(2023-10-12 17:31)
【系统环境|服务器应用】克隆自己的数字人形象需要几步?(2023-09-20 17:13)
【系统环境|】Tiktok登录教程(2023-02-13 14:17)
手机二维码手机访问领取大礼包
返回顶部