您现在的位置是:热点 >>正文
Hive 和 Spark的爱恨情仇恩怨交织
热点90712756人已围观
简介...
本文转载自微信公众号「明哥的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 storageve using SQL.”,hive的定位是数据仓库,其提供了通过 sql 读写和管理分布式存储中的大规模的数据,即 hive即负责数据的存储和管理(其实依赖的是底层的hdfs文件系统或s3等对象存储系统),也负责通过 sql来处理和分析数据。所以说,hive只用来处理结构化数据,且只提供了sql的方式来进行分析处理。而且一般来说,h 和ive只能对数据进行批处理。(当使用hive 的hbase映射表时,有一定的实时能力;同时,flink社区也在尝试将hive实时化-这里的实时化指小时级别的实时化,达不到分钟级别)。
spark的定位
正如 spark官网所说,“Apache spark is a unified analytics engine for large-scale d Sata 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,是因为 sp怨交ark 在推广面世之初,就主动拥抱了hive,通过改造自身代码提供了原生对hql包括hive udf的支持(其实从技术细节来将,这里把hql语句解析为抽象语法书ast,使用的是hive的语法解析器,但后续进一步的优化和代码生成,使用的都是spark sql 的catalyst),这也是市场推广策略的一种吧。 spark + spaHirk hive catalog。这是spark和hive结合的一种新形势,随着数据湖相关技术的进一步发展,这种模式现在在市场上受到了越来越多用户的青睐。其本质是,数据以orc/parquet/delta lake等格式存储在分布式文件系统如hdfs或对象存储系统如s3中,然后通过使用spark计算引擎提供的scala/javave/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)。
Tags:
相关文章
标签: 欢聚集团 BIGO Ads Bigo Live 李婷
热点云梦级3月11日云梦级消息,北京时间2026年3月11日,欢聚集团(NASDAQ:JOYY,简称“欢聚”或“集团”)发布2025年第四季度及全年财报。 2025年第四季度,集团营收5.819亿美元,环...
【热点】
阅读更多标签: 微元合成 豫鑫糖醇 张其宾 谭瑞清
热点云梦级5月13日云梦级消息,5月13日,微元合成生物技术(北京)有限公司宣布近日完成15亿元新一轮融资,本轮融资由股权融资及长期银行贷款共同组成,其中股权融资由张其宾、谭瑞清与兴银投资参与,长期银行贷...
【热点】
阅读更多苹果将部分产能从iPhone 12 mini转移到iPhone 12 Pro以满足需求
热点IT之家 1 月 21 日消息 据外媒 PED30 看到的一份摩根士丹利最新的投资说明显示,苹果已经将 iPhone 12 mini 的产量削减了 200 万台,以便为 iPhone 12 Pro 创...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://jihoon471.cafe24.com/product/search.html?banner_action=&keyword=谷歌留痕教程【tg:seogoogle987】gWc
- https://www.stonerealestate.com.au/?cat=100&s=谷歌留痕教程【tg:seogoogle987】,WDr
- https://www.uckfieldtc.gov.uk/?s=谷歌留痕教程【tg:seogoogle987】,bu3
- https://www.southmeadows.co.uk/2019/07/?s=谷歌留痕教程【tg:seogoogle987】,41B
- https://www.paspaley.com/catalogsearch/result/?action=QUERY&q=谷歌留痕教程【tg:seogoogle987】,vZ9
- https://www.roberthalf.com/us/en/jobs/all/谷歌留痕教程【tg:seogoogle987】7So
- https://www.shopping.com/search.html?keyword=谷歌留痕教程【tg:seogoogle987】,v3D
- https://www.tycoonstory.com/?s=谷歌留痕教程【tg:seogoogle987】,qoV
- https://www.samen-maier.at/search/谷歌留痕教程【tg:seogoogle987】,cur
- https://www.routesonline.com/search/?query=谷歌留痕教程【tg:seogoogle987】,eVj
- https://5gaa.org/?token=6e2l7hjt2i26gzgctgwdrv7v0j6nxorq&s=谷歌留痕教程【tg:seogoogle987】c6b
- https://www.rea.govt.nz/search?searchterm=谷歌留痕教程【tg:seogoogle987】,mcp
- https://www.wellbees.com/index.php/catalogsearch/result/index/?q=谷歌留痕教程【tg:seogoogle987】,Gmt
- https://www.nytimes.com/search?dropmab=true&query=谷歌留痕教程【tg:seogoogle987】,EWl
- https://www.remit.co.jp/vi/?s=谷歌留痕教程【tg:seogoogle987】fUk
- https://www.parriscues.com/catalogsearch/result/?q=谷歌留痕教程【tg:seogoogle987】,6K8
- https://www.roberthalf.com/us/en/jobs/all/谷歌留痕教程【tg:seogoogle987】qm7
- https://www.maafushidive.com?collections?vendors?q=谷歌留痕教程【tg:seogoogle987】,IWW
- https://www.polliwogs.com/search/谷歌留痕教程【tg:seogoogle987】,WmD
- https://www.nyif.com/catalogsearch/result/index/?f=sarbanesoxleyU&index=me_cms_pe&lit=20&mode=list&p=1&q=谷歌留痕教程【tg:seogoogle987】,kGp
- https://zhidao.baidu.com/index/?action=QUERY&word=谷歌留痕教程【tg:seogoogle987】,jAB
- https://www.duksung.ac.kr/search/front/Search.jsp?qt=谷歌留痕教程【tg:seogoogle987】3l0
- https://www.pearson.com/en-us/search.html?aq=谷歌留痕教程【tg:seogoogle987】,D9q
- https://www.parl.ca/legisinfo/fr/projets-de-loi?parlsession=all&view=list&keywords=谷歌留痕教程【tg:seogoogle987】,Kfk
- https://www.televes.com/es/catalogsearch/result/?q=谷歌留痕教程【tg:seogoogle987】,BJ7
- https://yscc1986.net/search/谷歌留痕教程【tg:seogoogle987】9xa
- https://www.teamlab.art/it/?submit=谷歌留痕教程【tg:seogoogle987】,JPD
- https://store.line.me/search/sticker/ja?q=谷歌留痕教程【tg:seogoogle987】PZk
- https://www.yidian51.com/taobao/谷歌留痕教程【tg:seogoogle987】,PBN
- https://www.madebyoranges.com/nl/search/谷歌留痕教程【tg:seogoogle987】,A1J
- https://www.paulaschoice.hk/zh_hant/catalogsearch/result/?q=谷歌留痕教程【tg:seogoogle987】,qYw
- https://www.lauben.com/en/?action=SEARCH&s=谷歌留痕教程【tg:seogoogle987】,W1E
- https://www.lauben.com/de/?s=谷歌留痕教程【tg:seogoogle987】,IFt
- https://www.impactpool.org/search/?type=79&q=谷歌留痕教程【tg:seogoogle987】fAg
- https://www.swanagerailway.co.uk/search?q=谷歌留痕教程【tg:seogoogle987】,YIo
- https://www.remit.co.jp/en/?s=谷歌留痕教程【tg:seogoogle987】,IX6
- https://www.partilerdunyasi.com/index.php?route=product/search&tag=谷歌留痕教程【tg:seogoogle987】,GRU
- https://www.unclefossil.com/search/谷歌留痕教程【tg:seogoogle987】,mMm
- https://www2.ual.es/ProyectoLates/?s=谷歌留痕教程【tg:seogoogle987】,FG1
- https://blvdseafood.com/?s=谷歌留痕教程【tg:seogoogle987】Tyn
- https://www.kawainter.com/catalogsearch/result/?q=谷歌留痕教程【tg:seogoogle987】,6dJ
- https://www.metalmensales.com/?action=QUERY&s=谷歌留痕教程【tg:seogoogle987】,TyY
- https://www.tombow.com/search/谷歌留痕教程【tg:seogoogle987】,zbS
- https://www.toy-people.com/?s=谷歌留痕教程【tg:seogoogle987】,Mos
- https://www.sebson.de/en/search?query=谷歌留痕教程【tg:seogoogle987】,H86
- https://www.le-trend.com/en/search/=谷歌留痕教程【tg:seogoogle987】,dPF
- https://www.spoiledsweetboutique.com/search/谷歌留痕教程【tg:seogoogle987】,3VX
- https://www.lyrics.com/lyrics/谷歌留痕教程【tg:seogoogle987】,pTC
- https://www.u-bourgogne.fr/?cat=117&s=谷歌留痕教程【tg:seogoogle987】,EmQ
- https://www.skicheck.at/en/?action=CHECK&s=谷歌留痕教程【tg:seogoogle987】,SkP