spark hive区别

Posted 王金松

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spark hive区别相关的知识,希望对你有一定的参考价值。

一:Hive本质是是什么

1:hive是分布式又是数据仓库,同时又是查询引擎,Spark SQL只是取代的HIVE的查询引擎这一部分,企业一般使用Hive+spark SQL进行开发

2:hive的主要工作

      1>  把HQL翻译长map-reduce的代码,并且有可能产生很多mapreduce的job

      2> 把生产的Mapreduce代码及相关资源打包成jar并发布到Hadoop的集群当中并进行运行

3:hive架构

                     

 

4:hive默认情况下用derby存储元数据,所以在生产环境下一般会采用多用户的数据库进行元数据的存储,并可以读写分离和备份,一般使用主节点写,从节点读,一般使用mysql

5:hive数据仓库数据的具体存储

二:SparkSQL  和DataFrame

1:处理一切存储介质和各种格式的数据(可以扩展sparksql来读取更多类型的数据)

2:Spark SQL把数据仓库的计算速度推向了新的高度(Tungsten成熟之后会更厉害)

3:Spark SQL 推出的Dataframe可以让数据仓库直接使用机器学习,图计算等复杂算法

4:HIVE+Spark SQL+DataFrame:

     i> Hive:负责廉价的数据仓库存储

     ii>Spark Sql:负责高速的计算

     iii> DataFrame:负责复杂的数据挖掘

三: DataFrame与RDD

1:DataFrame是一个分布式的table

2:RDD和DataFrame的根本差异

    1.RDD是以Record为单位的,

    2.DataFrame包含了每一个Record的Metadata信息,也就是说DataFrame的的优化是基于列的优化,RDD是基于行的优化

 

 

 

 

 

以上是关于spark hive区别的主要内容,如果未能解决你的问题,请参考以下文章

基于CDH 6.3.0 搭建 Hive on Spark 及相关配置和调优

【数仓】对比spark-hive的两种分布式计算模式

SparkSQL与Hive on Spark的区别与联系

spark和hive storm mapreduce的比较

IDEA,SparkSql读取HIve中的数据

Spark SQL(十):Hive On Spark