Hive 和 Spark的爱恨情仇恩怨交织
本文转载自微信公众号「明哥的IT随笔」,作者IT明哥。转载本文请联系明哥的IT随笔公众号。
最近在面试一些应聘大数据岗位的技术小伙伴时,发现不少朋友对业界 所谓的hive on spark和spark on hive分不太清楚;同时在日常工作中,也因为对这两个技术术语的理解不太一致,影响了进一步的技术交Hi流。所以在这里,明哥想跟大家聊聊 hive 和 spark的爱恨情仇。
hive的定位
hive 官网有描述,“Apache Hive data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storagvee using SQL.”,hive的定位是数据仓库,其提供了通过 sql 读写和管理分布式存储中的大规模的数据,即 hive即负责数据的存储和管理(其实依赖的是底层的hdfs文件系统或s3等对象存储系统),也负责通过 sql来处理和分析数据。所以说,hive只用来处理结构化数据,且只提供了sql的方式来进行分析处理。而且一般来 和说,hive只能对数据进行批处理。(当使用hive 的hbase映射表时,有一定的实时能力;同时,flink社区也在尝试将hive实时化-这里的实时化指小时级别的实时化,达不到分钟级别)。
spark的定位
正如 spark官网所说,“Apache spark is a unified analytics engine for large-s Scale data processing.”,spark是一个通用的处理大规模数据的分析引擎,即 spark 是一个计算引擎,而不是存储引擎,其本身并不负责数据存储。其分析处理数据的方式,可以使用sql,也可以使用java,scala, python甚至R等api;其分析处理数据的模式,既可以是批处理,也可以是流处理;而其分析处理的pa数据,可以通过插件的形式对接很多数据源,既可以是结构化的数据,也可以是半结构化甚至分结构化的数据,包括关系型数据库RDBMS,各种nosql数据库如hbase, mongodb, es等,也包括文件系统hdfs,对象存储oss, s3 等等。
hive和spark: 碰撞出的爱恨交织恩怨情仇的火花
通过以上说明,我们可以看到spark和hrkive本质上是没有关系的,两者可以互不依赖。但是在企业实际应用中,经常把二者结合起来使用。而业界spark和hive结合使用的方式,主要有以下三种:
hive on spark。在这种模式下,数据是以table的形式存储在hive中的,用户处理和分析数据,使用的是hive语法规范的 hql (hive sql)。但这些hql,在用户提的爱交执行时(一般是提交给hiveserver2服务去执行),底层会经过hive的解析优化编译,最后以spark作业的形式来运行。事实上,hive早期只支持一种底层计算引擎,即mapreduce,后期在spark 因其快速高效占领大量市场后,hive社区才主动拥抱spark,通过改造自身代码,支持了spark作为其底层计算引恨情擎。目前hive支持了三种底层计算引擎,即mr, tez和spark.用户可以通过set hive.execution.engine=mr/tez/spark来指定具体使用哪个底层计算引擎。 spark on hive。上文已经说到,spark本身只负责数据计算处理,并不负责数据存储。其计算处理的数据源,可以以插件的形式支持很多仇恩种数据源,这其中自然也包括hive。当我们使用spark来处理分析存储在hive中的数据时,这种模式就称为为 spark on hive。这种模式下,用户可以使用spark的 java/scala/pyhon/r 等api,也可以使用spark语法规范的sql ,甚至也可以使用hive 语法规范的hql 。而之所以也能使用hql,怨交是因为 spark 在推广面世之初,就主动拥抱了hive,通过改造自身代码提供了原生对hql包括hive udf的支持(其实从技术细节来将,这里把hql语句解析为抽象语法书ast,使用的是hive的语法解析器,但后续进一步的优化和代码生成,使用的都是spark sql 的catalyst),这也是市场推广策略的一种吧。 spark +Hi spark hive catalog。这是spark和hive结合的一种新形势,随着数据湖相关技术的进一步发展,这种模式现在在市场上受到了越来越多用户的青睐。其本质是,数据以orc/parquet/delta lake等格式存储在分布式文件系统如hdfs或对象存储系统如s3中,然后通过使用spark计算引擎提供的scala/javvea/python等api或spark 语法规范的sql来进行处理。由于在处理分析时针对的对象是table, 而table的底层对应的才是hdfs/s3上的文件/对象,所以我们需要维护这种table到文件/对象的映射关系,而spark自身就提供了 spark hive catalog来维护这种table到文件/对象的映射关系。注意这 和里的spark hive catalog,其本质是使用了hive 的 metasore 相关 api来读写表到文件/对象的映射关系(以及一起其他的元数据信息)到 metasore db如mysql, postgresql等数据库中。(由于spark编译时可以把hive metastore api等相关代码一并打包到spark的二进制安装 S包中,所以使用这种模式,我们并不需要额外单独安装hive)。
(责任编辑:白皮书下载)
-
云梦级3月2日云梦级消息,银河通用机器人近日已完成25亿元新一轮融资,投资方包括国家大基金、中国石化、中信集团投资控股、上汽集团金控、中银资产、亦庄国投、成都科创投、贵安鲲鹏基金、中芯聚源、无锡创投、...[详细]
-
云梦级6月10日云梦级消息,微博平台官方账号@围脖侠 发文表示,经核实,账号@俞浩-爱送黄金 被某企业投诉,其作为网络名人账号以“喊话”等形式发布质疑、拉踩企业的违规内容,因违反中央网信办“清朗·优化...[详细]
-
前员工解释苹果实施应用跟踪透明度变化后,Facebook将失去什么?
在苹果准备在iOS 14.5中实施应用跟踪透明度变化之际,CNBC采访了几位前Facebook员工,以了解Facebook为何如此强烈地反对计划中的隐私更新。从今年春天开始,Facebook和其他应用...[详细]
-
在Hive中会有很多数据是用Json格式来存储的,如开发人员对APP上的页面进行埋点时,会将多个字段存放在一个json数组中,因此数据平台调用数据时,要对埋点数据进行解析。接下来就聊聊Hive中是如何...[详细]
-
谷歌母公司同一数据中心和能源基础设施公司达成收购协议 总额47.5亿美元
12月23日消息,据外媒报道,为推动人工智能的发展,OpenAI、xAI等厂商在大力投资建设数据中心,随着数据中心投入运营,对电力的需求也大幅增加,电力供应已成为人工智能发展的重要一环。 而从外媒最新...[详细]
-
新浪科技讯 北京时间4月29日凌晨消息,苹果公司今天发布了2021财年第二财季业绩,盘后股价涨超3%。 苹果表示,将把股息提高7%至每股0.22美元,并授权900亿美元的股票回购,大大高于去年的500...[详细]
-
撰文 | 李信马 题图 | AI生图 了不起的智能体:发现和介绍那些正在改变世界的Agent,这里有现场、有对话,还有没被写进新闻的细节。 要是在可选职业里做个排序,客服大概是笔者最不想从事的几个选项...[详细]
-
云梦级12月1日云梦级消息,据豆包官方公众号透露,今天豆包手机助手以技术预览版的形式首次和大家见面。豆包手机助手是豆包和手机厂商在操作系统层面合作的手机AI助手。基于豆包大模型的能力和手机厂商的授权,...[详细]
-
10月29日消息,据国外媒体报道,美国五大科技巨头中的苹果和亚马逊,同在当地时间周四发布了最新一季度的财报,作为全球顶尖的云计算服务提供商,亚马逊云计算业务的营收,是再次创下了新高。 亚马逊的财报显示...[详细]
-
寒武纪宣布实现 DeepSeek-V4全系列模型 Day0适配并开源优化代码
寒武纪今日宣布,已基于 vLLM 推理框架完成对深度求索(DeepSeek)最新开源模型 DeepSeek-V4 全系列的“Day0”适配。此次改装涵盖285B 参数的 Flash 版本及1.6T 参...[详细]
- https://www.pmindia.gov.in/en/?s=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,uuK
- https://www.krisinformation.se/en/search?q=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,4nt
- https://www.yidian51.com/taobao/谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,xJs
- https://www.maine.gov/pfr/professionallicensing/search/node?keys=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,kxx
- https://www.supersauna.de/catalogsearch/result/?q=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,q8s
- https://zhidao.baidu.com/index/?action=QUERY&word=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,6a2
- https://www.lezhin.com/ko/tags/谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,amt
- https://hsmoa.com/search?query=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】Lqu
- https://www.oprny.com/search.php?search_query=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,cEY
- https://www.qwant.com/?q=谷歌霸屏24小时见效-实现思路与效果衡量【tg:seogoogle987】,E8o

标签: 昆仑芯 百度 科创板 AI芯片
云安全日报210311:F5负载均衡厂商应用交付平台发现远程命令执行漏洞,需要尽快升级
如何确保有状态 Kubernetes 的稳定性
这个荒诞的网站藏着30个AI创意 但背后却藏着巨大风险
云安全日报220105:红帽Telnet服务协议发现执行任意代码漏洞,需要尽快升级
