OLTP 和 OLAP 的区别 ;hive与其它框架的区别

导航

    • hive outline
    • OLTP 和 OLAP 的区别
    • hive和mysql主要区别
    • hive 和 hbase 的区别
    • hive sql 和spark sql 的区别
    • hive on spark和spark on hive的区别

hive outline

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 文件,添加如下内容


<property>
    <name>spark.yarn.jarsname>
    <value>hdfs://hadoop102:8020/spark-jars/*value>
property>
  

<property>
    <name>hive.execution.enginename>
    <value>sparkvalue>
property>

(2)spark on hive 效率高,但不太兼容其他框架

你可能感兴趣的:(Hive,hive)