Hive on Spark与SparkSql的区别

Hive on Spark与SparkSql的区别

hive on spark大体与SparkSQL结构类似,只是SQL引擎不同,但是计算引擎都是spark!

核心代码

#初始化Spark SQL
#导入Spark SQL
from pyspark.sql import HiveContext,Row
# 当不能引入Hive依赖时
# from pyspark.sql import SQLContext,Row
# 注意,上面那一点才是关键的,他两来自于同一个包,你们区别能有多大


hiveCtx = HiveContext(sc)   #创建SQL上下文环境
input = hiveCtx.jsonFile(inputFile)   #基本查询示例
input.registerTempTable("tweets")   #注册输入的SchemaRDD(SchemaRDD在Spark 1.3版本后已经改为DataFrame)
#依据retweetCount(转发计数)选出推文
topTweets = hiveCtx.sql("SELECT text,retweetCount FROM tweets ORDER BY retweetCount LIMIT 10")

结构上Hive On Spark和SparkSQL都是一个翻译层,把一个SQL翻译成分布式可执行的Spark程序。而且大家的引擎都是spark
Hive和SparkSQL都不负责计算,它们只是告诉Spark,你需要这样算那样算,但是本身并不直接参与计算。
SparkSql官网:https://spark.apache.org/sql/
hive官网:http://hive.apache.org/index.html

面试会经常问的几个问题

1,spark需要hadoop么
可以不需要,只要可以读取到元数据就可以
2,spark能够代替hadoop么
不能,spark是用于计算的,hadoop可以计算和存储
3,spark需要hive么
可以不需要,只要metastore服务就行
4,spark on hive这种说法
这种说法是很不专业的,回答用上面的hive on spark和spark sql来回答

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值