Hive、SparkSQL区别与联系:【SparkSQL集成了HiveSQL】【Spark通过sparkSQL使用HiveSQL语句操作Hive表】
一、SparkSQL和Hive对比
二、HiveSQL和SparkSQL的对比
sql生成mapreduce程序必要的过程:解析(Parser)、优化(Optimizer)、执行(Execution)
三、spark、hive on spark、spark on hive三者的比较
Hive引擎包括:默认MR、tez、spark
Hive on Spark:Hive既作为存储元数据又负责SQL的解析优化,语法是HQL语法,执行引擎变成了Spark,Spark负责采用RDD执行。
Spark on Hive : Hive只作为存储元数据,Spark负责SQL解析优化,语法是Spark SQL语法,Spark负责采用RDD执行。
1、spark on hive
hive只作为存储角色,spark 负责sql解析优化,底层运行的还是sparkRDD
具体可以理解为spark通过sparkSQL使用hive语句操作hive表,底层运行的还是sparkRDD,
步骤如下:
1.通过sparkSQL,加载Hive的配置文件,获取Hive的元数据信息
2.获取到Hive的元数据信息之后可以拿到Hive表的数据
3.通过sparkSQL来操作Hive表中的数据
2、hive on spark
hive既作为存储又负责sql的解析优化,spark负责执行
这里Hive的执行引擎变成了spark,不再是MR。
这个实现较为麻烦,必须重新编译spark并导入相关jar包
目前大部分使用spark on hive
HiveSQL和SparkSQL的区别和联系_sparksql和hivesql的区别_万里长江横渡的博客-CSDN博客
Hive、SparkSQL区别与联系:【SparkSQL集成了HiveSQL】【Spark通过sparkSQL使用HiveSQL语句操作Hive表】
一、SparkSQL和Hive对比
二、HiveSQL和SparkSQL的对比
sql生成mapreduce程序必要的过程:解析(Parser)、优化(Optimizer)、执行(Execution)
三、spark、hive on spark、spark on hive三者的比较
Hive引擎包括:默认MR、tez、spark
Hive on Spark:Hive既作为存储元数据又负责SQL的解析优化,语法是HQL语法,执行引擎变成了Spark,Spark负责采用RDD执行。
Spark on Hive : Hive只作为存储元数据,Spark负责SQL解析优化,语法是Spark SQL语法,Spark负责采用RDD执行。
1、spark on hive
hive只作为存储角色,spark 负责sql解析优化,底层运行的还是sparkRDD
具体可以理解为spark通过sparkSQL使用hive语句操作hive表,底层运行的还是sparkRDD,
步骤如下:
1.通过sparkSQL,加载Hive的配置文件,获取Hive的元数据信息
2.获取到Hive的元数据信息之后可以拿到Hive表的数据
3.通过sparkSQL来操作Hive表中的数据
2、hive on spark
hive既作为存储又负责sql的解析优化,spark负责执行
这里Hive的执行引擎变成了spark,不再是MR。
这个实现较为麻烦,必须重新编译spark并导入相关jar包
目前大部分使用spark on hive
HiveSQL和SparkSQL的区别和联系_sparksql和hivesql的区别_万里长江横渡的博客-CSDN博客
发布评论