最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

大数据时代的争议:Spark 能替代 Hive 吗?

[复制链接]
跳转到指定楼层
楼主
发表于 2021-1-30 15:42:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 168主编 于 2021-1-30 15:45 编辑

本文作者:曾就职传统通讯运营商,负责BI项目的开发;目前转型互联网公司,就职于某厂负责相关的大数据仓库建设工作。随着的几年的架构沉淀,工作上形成了离线以 Hive 为主,Spark 为辅, 实时处理用 Flink 的大数据架构体系及 Impala, Es,Kylin 等应用查询引擎。
随着业务的发展,日常工作中会面试各种各样的人,接触下来发现一个比较奇怪的现象:
学习 Spark 的面试者普遍认为 Spark 必然会替代 Hive 成为新的一代大数据仓库标准。

同时,培训市场也出现了 Hive 已经落后,学习大数据只要学习 Spark 相关言论。
但结合实际工作的情况来看,这类说法和实际情况并不相符,针对数据仓库的几个重要特征做了对比,说明各种利弊,希望对今后各位的面试有一定的帮助。
希望后续的面试者能够去积极了解一些数据仓库需要的配置组件及系统,避免人云亦云,面试的时候引起不必要的争议。
数据仓库特点

hive

spark

数据仓库是面向主题的

可以实现

可以实现

数据仓库是集成的(统一存储)

天然与 HDFS集成

可以将数据存储在 HDFS

数据仓库是不可更新的

满足

用 HDFS 可以满足

元数据管理

拥有自己的 meta 库

无 meta 库,需要用 Hive 的

数据源同步

Sqoop Flume 等配套组件

无相关配套组件


由上图可以看出,Spark 不适合作为数据仓库的点有如下几个方面:
  • Spark 本身没有自己的存储与 meta 库两种最核心的东西,需要依赖 HDFS 和 Hive 的相关功能,而社区的发展趋势也没有往这边开发的意思,故 Spark 是作为一个计算引擎的定位长期存在的;
  • RDD, DataSet、DataFrames 的三种计算形式 由于计算过程中没有一个持久化的计算元数据管理导致后续对于数据血缘的解析难度过大,无法满足数据仓库调度对于数据体系依赖分析及元数据管理相关要求,故不能作为数据仓库的主要使用方式;
  • SparkSql 是最有潜力成为数据仓库的主要形式,但目前来说仍然是以 Hive meta库作为元数据管理 hdfs 作为数据存储,由于本身的 sql 解析器不如 Hive,一般情况下是用 Hive 的 sql 解析器来替换本身的解析器。本质来说 SparkSql 只是作为hive 的计算速度强化版使用;
  • 在 CPU 密集任务及复杂计算任务上,它的性能及稳定性远远比不上 Hive;
  • Spark 在运行过程中经常会出现内存错误。
反观 Hive,拥有一套完整的 hadoop 生态组件
  • Sqoop 支持 RDS 到 Hive(HDFS) 的互相同步;
  • Flume 支持日志采集到 HDFS;
  • 拥有自己一套完整的 meta 库支持元数据管理;
  • 语言以 sql 为准,非常方便后续数据仓库的维护,比如数据血缘解析,过滤条件解析;
  • Hive 的稳定性是目前的 Spark 无法保证的,在数据仓库做分层设计的情况下,底层的稳定性要求会远高于速度(如果底层一个任务失败,可能导致上层的几千个任务无法执行)。
基于上面的条件,以目前社区的发展趋势来说,Spark 替代 Hive 成为数据仓库的首选时间会比较漫长,而且随着 Hive 的 sql 执行引擎逐步优化后,Spark 的优势会越来越低。
就目前来说,SparkSql 作为数据仓库上层做加快查询的定位相对合适点,并不适合作为整套数据仓库的尤其是需要强稳定性的底层数据调度查询。
数据仓库是一套系统性工程,如果单纯以计算性能作为唯一选型标准,难免会陷入后续无尽的维护陷阱中。

本文来自微信公众号:进击的Coder(FightingCoder),作者:网易云课堂
楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-4-25 08:47

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表