HiveSQL和SparkSQL的区别和联系

一、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执行。

【spark on hive 】

hive只作为存储角色,spark 负责sql解析优化,底层运行的还是sparkRDD

具体可以理解为spark通过sparkSQL使用hive语句操作hive表,底层运行的还是sparkRDD,

步骤如下:

1.通过sparkSQL,加载Hive的配置文件,获取Hive的元数据信息

2.获取到Hive的元数据信息之后可以拿到Hive表的数据

3.通过sparkSQL来操作Hive表中的数据

【hive on spark】

hive既作为存储又负责sql的解析优化,spark负责执行

这里Hive的执行引擎变成了spark,不再是MR。

这个实现较为麻烦,必须重新编译spark并导入相关jar包

目前大部分使用spark on hive

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值