您现在的位置是:热点 >>正文
Hive 和 Spark的爱恨情仇恩怨交织
热点19492938人已围观
简介...
本文转载自微信公众号「明哥的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 storavege 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: 碰撞出的爱恨交织恩怨情仇的火花
通过以上说明,我们可以看rk到spark和hive本质上是没有关系的,两者可以互不依赖。但是在企业实际应用中,经常把二者结合起来使用。而业界spark和hive结合使用的方式,主要有以下三种:
hive on spark。在这种模式下,数据是以table的形式存储在hive中的,用户处理和分析数据,使用的是hive语法规范的 hql (hive sql)。但这些h的爱ql,在用户提交执行时(一般是提交给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),这也是市场推广策略的一种吧。 spHiark + spark hive catalog。这是spark和hive结合的一种新形势,随着数据湖相关技术的进一步发展,这种模式现在在市场上受到了越来越多用户的青睐。其本质是,数据以orc/parquet/delta lake等格式存储在分布式文件系统如hdfs或对象存储系统如s3中,然后通过使用spark计算引擎提供的scveala/java/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:
相关文章
一文搞懂HBase的基本原理
热点本文会对HBase的基本原理进行剖析,通过本文你可以了解到: CAP理论 NoSQL出现的原因 HBase的特点及使用场景 HBase的数据模型和基本原理 客户端API的基本使用 易混淆知识点面试总结...
【热点】
阅读更多火山引擎、阿里云、腾讯云联合发布“超低延时”直播技术标准
热点2月25日消息,在火山引擎举办的视频云科技原力峰会上,火山引擎与阿里云、腾讯云联合发布一项“超低延时直播协议信令标准”。该标准首次正式定义了直播“客户端-服务器”信令交互流程,将传统直播技术3至6秒的...
【热点】
阅读更多华为要向苹果、三星、小米等收5G专利费,伤害不大,侮辱性极强
热点这几天,网上都在讨论关于华为要收5G专利费的事情,毕竟这个影响非常大。 大家都非常清楚了,华为的5G专利费很便宜,最高2.5美元,并且也会是按照手机售价的百分比来收的。 相比于高通、诺基亚、爱立信,可...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.mynextmove.org/find/search?s=谷歌留痕软件【tg:seogoogle987】,sDE
- https://www.rollingstone.it/?ID=DVMeu3AlmzZE1cuJ2FmgmO5TSCQRb3yh&s=谷歌留痕软件【tg:seogoogle987】,FB2
- https://www.nyif.com/catalogsearch/result/?q=谷歌留痕软件【tg:seogoogle987】,cKG
- https://www.pinkpanda.ro/magazin/ingrijirea-tenului?page=87&q=谷歌留痕软件【tg:seogoogle987】,esp
- https://www.zalora.sg/catalog/?cat=112&q=谷歌留痕软件【tg:seogoogle987】,4uh
- https://m.shoppinghow.kakao.com/m/search/q/谷歌留痕软件【tg:seogoogle987】c97
- https://www.stonerealestate.com.au/?cat=100&s=谷歌留痕软件【tg:seogoogle987】,RHg
- https://www.monroecounty.gov/search/?q=谷歌留痕软件【tg:seogoogle987】,ujL
- https://www.sdcard.org/ja/?s=谷歌留痕软件【tg:seogoogle987】,jwG
- https://www.nss.nhs.scot/search?q=谷歌留痕软件【tg:seogoogle987】,lYj
- https://www.u-bourgogne.fr/?cat=117&s=谷歌留痕软件【tg:seogoogle987】,B7D
- https://www.openstreetmap.org/search?query=谷歌留痕软件【tg:seogoogle987】,obK
- https://www.hanbat.ac.kr/search/front/Search.jsp?qt=谷歌留痕软件【tg:seogoogle987】fUR
- https://www.seforall.org/search?keywords=谷歌留痕软件【tg:seogoogle987】,UrR
- https://www.remit.co.jp/vi/?s=谷歌留痕软件【tg:seogoogle987】yGo
- https://www.selfsufficientish.com/main/?s=谷歌留痕软件【tg:seogoogle987】,VF9
- https://www.welshmountainzoo.org/shop/index.php?routeproduct/search&tag=谷歌留痕软件【tg:seogoogle987】,HCH
- https://hsmoa.com/search?query=谷歌留痕软件【tg:seogoogle987】9A4
- https://www.lyrics.com/lyrics/kkk3谷歌留痕软件【tg:seogoogle987】,BNw
- https://www.paulaschoice.hk/zh_hant/catalogsearch/result/?q=谷歌留痕软件【tg:seogoogle987】,km7
- https://www.swecobelgium.be/?page=9&s=谷歌留痕软件【tg:seogoogle987】,S2w
- https://www.parriscues.com/catalogsearch/result/?q=谷歌留痕软件【tg:seogoogle987】,jd0
- https://www.parl.ca/legisinfo/fr/projets-de-loi?parlsession=all&view=list&keywords=谷歌留痕软件【tg:seogoogle987】,7JP
- https://www.remit.co.jp/vi/?s=谷歌留痕软件【tg:seogoogle987】,Qhh
- https://www.nuovabai.it/catalogsearch/result/?action=SEARCH&q=谷歌留痕软件【tg:seogoogle987】,rKa
- https://www.tmtpost.com/search?q=谷歌留痕软件【tg:seogoogle987】,oBB
- https://www.military-history.org/?s=谷歌留痕软件【tg:seogoogle987】,ZNB
- https://www.roblox.com/discover/?cat=107&Keyword=谷歌留痕软件【tg:seogoogle987】,3Br
- https://www.wattpad.com/search/谷歌留痕软件【tg:seogoogle987】eRM
- https://www.polliwogs.com/search/谷歌留痕软件【tg:seogoogle987】,nWq
- https://www.tahiti-infos.com/search/谷歌留痕软件【tg:seogoogle987】,7Lj
- https://www2.ual.es/ProyectoLates/?s=谷歌留痕软件【tg:seogoogle987】,9tR
- https://www.teamlab.art/it/?submit=谷歌留痕软件【tg:seogoogle987】,GI2
- https://www.lssystems.co.uk/search?page=0&per_page=24&term=谷歌留痕软件【tg:seogoogle987】,SYb
- https://www.usslexington.com/?action=QUERY&s=谷歌留痕软件【tg:seogoogle987】,IGQ
- https://www.teamlab.art/ko/?submit=谷歌留痕软件【tg:seogoogle987】,ce3
- https://www.kyuhoshi.com/?s=谷歌留痕软件【tg:seogoogle987】,17w
- https://www.londontheatredirect.com/search/谷歌留痕软件【tg:seogoogle987】,A36
- https://www.duksung.ac.kr/search/front/Search.jsp?qt=谷歌留痕软件【tg:seogoogle987】kY5
- https://www.tailoy.com.pe/catalogsearch/result/?q=谷歌留痕软件【tg:seogoogle987】,7ub
- https://www.wellbees.com/catalogsearch/result/?action=CHECK&q=谷歌留痕软件【tg:seogoogle987】,Ml2
- https://www.pickett.co.uk/collections/vendors?q=谷歌留痕软件【tg:seogoogle987】,MgC
- https://www.mingwai.edu.hk/?langzh-hant&s=谷歌留痕软件【tg:seogoogle987】,uuL
- https://blvdseafood.com/?s=谷歌留痕软件【tg:seogoogle987】6zY
- https://www.yli.ro/catalogsearch/result/?q=谷歌留痕软件【tg:seogoogle987】,YAk
- https://www.merchbar.com/search?q=谷歌留痕软件【tg:seogoogle987】,2ZK
- https://www.target.com/s?searchTerm=谷歌留痕软件【tg:seogoogle987】,3RE
- https://www.lgnewsroom.com/search/谷歌留痕软件【tg:seogoogle987】,pWL
- https://www.southmeadows.co.uk/2019/07/?s=谷歌留痕软件【tg:seogoogle987】,rjb
- https://www.voices.com/talents/search?keywords=谷歌留痕软件【tg:seogoogle987】,zgU