导航
hive outline
OLTP 和 OLAP 的区别
OLTP(on-line transaction processing):联机事务处理
OLAP(On-Line Analytical Processing):联机分析处理
OLTP | OLAP | |
---|---|---|
主要应用 | 数据库 | 数据仓库 |
业务目的 | 侧重于业务处理,如订单、支付等业务 | 侧重于数据分析 |
主要功能 | CRUD | 查询 |
响应速度 | 实时响应 | 对时间要求不严格 |
数据库设计 | 遵循3NF | 遵循星型模式/雪花模型 |
hive和mysql主要区别
mysql | hive | |
---|---|---|
业务目的 | 侧重于业务处理,如订单、支付等 | 侧重于数据分析 |
主要功能 | CRUD | 查询 |
响应速度 | 实时响应 | 对时间要求不严格 |
数据库设计 | 遵循3NF | 遵循星型模式/雪花模型 |
处理数据规模 | 小 | 大 |
hive 和 hbase 的区别
hive 和 hbase 在大数据架构中处在不同位置,hive 主要解决数据处理和计算问题,hbase 主要解决实时数据查询问题,一般是配合使用
hive sql 和spark sql 的区别
hive sql 和spark sql 的区别的另一种问法
—>hive on spark和spark on hive的区别
如果hive sql 使用的是默认计算引擎mr
(1)mr是基于磁盘的进行计算的,计算过程会有shuffle
(2)sql语句的解析、编译、优化、及数据的计算都由hive自身来完成
如果hive sql 使用的计算引擎的是spark
(1)spark是基于内存进行计算的
(2)sql的解析、编译、优化交由hive来处理,数据的计算却使用的是spark的rdd
spark sql 使用的算引擎也是spark
sql语句的解析、编译、优化、及数据的计算都由spark自身来完成,但数据计算却不是rdd了,而是使用的是spark帮我们优化好的api( DataFrame 和 DataSet),这个api底层调用的也是rdd,但是给我spark给们进行了系统优化,开发人员直接使用api就行了(原因:你自己优化rdd,大概率没人家优化的好)
hive on spark和spark on hive的区别
hive on spark使用的计算引擎的是spark
(1)spark是基于内存进行计算的
(2)sql的解析、编译、优化交由hive来处理,数据的计算却使用的是spark的rdd
(3)
数据块的存储是在hdfs上,元数据的存储在mysql数据库中
spark on hive 使用的算引擎也是spark
(1) sql语句的解析、编译、优化、及数据的计算都由spark自身来完成,但数据计算却不是rdd了,而是使用的是spark帮我们优化好的api( DataFrame 和 DataSet),这个api底层调用的也是rdd,但是给我spark给们进行了系统优化,开发人员直接使用api就行了(原因:你自己优化rdd,大概率没人家优化的好)
(2)
spark自身不存储数据,数据可以来源于很多文件系统,例如hive中,mysql等等
如何选择:
(1) hive on spark 比较兼容其他框架,但效率不高,但工作中使用的比较多
修改 hive/conf/hive-site.xml 文件,添加如下内容
<!--Spark依赖位置(注意:端口号8020必须和namenode的端口号一致)-->
<property>
<name>spark.yarn.jars</name>
<value>hdfs://hadoop102:8020/spark-jars/*</value>
</property>
<!--Hive执行引擎-->
<property>
<name>hive.execution.engine</name>
<value>spark</value>
</property>
(2)spark on hive 效率高,但不太兼容其他框架