本文转载自微信公众号「明哥的IT随笔」,作者IT明哥。转载本文请联系明哥的IT随笔公众号。
最近在面试一些应聘大数据岗位的技术小伙伴时,发现不少朋友对业界 所谓的hive on spark和spark on hive分不太清楚;同时在日常工作中,也因为对这两个技术术语的理解不太一致,影响了进一步的技术交流。所以在这里,明哥想跟大家聊聊 hive 和 spark的爱恨情仇。
hive的定位
hive 官网有描述,“Apache Hive data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage 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-scale data processing.”,spark是一个通用的处理大规模数据的分析引擎,即 spark 是一个计算引擎,而不是存储引擎,其本身并不负责数据存储。其分析处理数据的方式,可以使用sql,也可以使用java,scala, python甚至R等api;其分析处理数据的模式,既可以是批处理,也可以是流处理;而其分析处理的数据,可以通过插件的形式对接很多数据源,既可以是结构化的数据,也可以是半结构化甚至分结构化的数据,包括关系型数据库RDBMS,各种nosql数据库如hbase, mongodb, es等,也包括文件系统hdfs,对象存储oss, s3 等等。
hive和spark: 碰撞出的爱恨交织恩怨情仇的火花
通过以上说明,我们可以看到spark和hive本质上是没有关系的,两者可以互不依赖。但是在企业实际应用中,经常把二者结合起来使用。而业界spark和hive结合使用的方式,主要有以下三种:
TOP云 (west.cn)1月15日消息,单字符 域名 数量极为有限,一般情况下很少在市...
今天给大家带来的是大数据开发基础的WEB基本原理及常用开发工具的了解,无论是在...
怎么实名 域名 ?域名实名制要求用户 注册域名 时,填写真实、准确、完整的注册...
cc 域名 续费多少钱一年?cc域名是威瑞信注册局旗下运营的后缀,虽然是国别域名...
2020年12月22日,在南京举行的“2020全球网络技术大会”(GNTC2020)的All IPv6 ...
2020年12月15日,中国信息通信研究院(以下简称“中国信通院”)电信网络诈骗治...
一个公司可以注册几个 域名 ?一个公司可以注册的域名数量没有限制, 同一个公司...
什么是配额? 为防止资源滥用,平台限定了各服务资源的配额,对用户的资源数量和...
IDC服务上, 服务器租用 和 服务器托管 没有任何区别,操作上 服务器租用 比托管...
01起源 不知不觉大学四年时光就过去了 而我 不仅仅是一名应届毕业生 同时 也是一...