刚开始接触Spark被Hive在Spark中的作用搞得云里雾里,这里简要介绍下,备忘。

参考:https://blog.csdn.net/zuochang_liu/article/details/82292076

SparkSQL:是一个完全不依赖Hive的SQL引擎。

Spark On Hive

通过sparksql,加载hive的配置文件,获取到hive的元数据信息;spark sql获取到hive的元数据信息之后就可以拿到hive的所有表的数据;接下来就可以通过spark sql来操作hive表中的数据。也就是说仅仅是将Hive作为一个数据仓库,并没有用到Hive的SQL执行引擎的能力。代码在内核代码spark-hive_2.11工程中。

Hive On Spark

是把hive查询从mapreduce 的mr (hadoop 计算引擎)操作替换为spark rdd 操作;将HQL翻译成分布式可以执行的Spark程序。Hive和SparkSQL都不负责计算。也就是一个为Spark计算框架定制的Hive。和Hive基本上没有关系,耦合之处为:HQL、元数据库、UDF、序列化、反序列化机制。它是一个单独的工程,和Spark内核代码独立,但是Spark依赖于Hive On Spark, Spark中的某些模块执行过程中会调用Hive on Spark. 例如Spark JDBCServer:

Hive原来的计算模型是MR,频繁操作磁盘(将中间结果写入到HDFS中)效率低。而Hive On Spark中使用了RDD(Dataframe),然后运行在spark集群上面。元数据保存在mysql中,其中包含了hive表的描述信息,描述了那些数据库、表,以及表有多少列,每一列都是什么类型,还要描述表的数据保存在HDFS的什么位置。

Hive元数据库的功能

  hive的元数据(metadata)建立了一种映射关系,执行HQL是,先到Mysql元数据库中查找描述信息,然后根据描述信息生成任务,然后将任务下发到spark集群中执行。hive on spark使用的仅仅是hive的标准和规范,不需要有hive数据库一样可以使用。要使用Hive的标准需要将hive的配置文件放在spark的conf目录下。没有安装Hive组件也没有影响。

要在Spark-Submit进程中使用开启spark对hive的支持:

val session = SparkSession.builder().master("local").appName("xx").enableHiveSupport() .getOrCreate()

  

转载于:https://www.cnblogs.com/maxigang/p/10324513.html

SparkSQL Spark on Hive Hive on Spark相关推荐

  1. beeline执行sql文件_【SparkSQL】介绍、与Hive整合、Spark的th/beeline/jdbc/thriftserve2、shell方式使用SQL...

    目录 一.Spark SQL介绍 SQL on Hadoop框架: 1)Spark SQL 2)Hive 3)Impala 4)Phoenix Spark SQL是用来处理离线数据的,他的编程模型是D ...

  2. Spark _26_Spark On Hive的配置

    网上的配置大多如下: Spark On Hive的配置 在Spark客户端配置Hive On Spark 在Spark客户端安装包下spark-1.6.0/conf中创建文件hive-site.xml ...

  3. Spark SQL整合Hive

    Spark SQL官方释义 Spark SQL is Apache Spark's module for working with structured data. 一.使用Spark SQL访问Hi ...

  4. Hive on Spark和Spark sql on Hive,你能分的清楚么

    摘要:结构上Hive On Spark和SparkSQL都是一个翻译层,把一个SQL翻译成分布式可执行的Spark程序. 本文分享自华为云社区<Hive on Spark和Spark sql o ...

  5. Spark 学习(十一) spark使用hive的元数据信息

    一,简介 二,shell方式配置和使用hive元数据信息 2.1 文件配置 2.2 驱动包加载 2.3 命令行启动 三,IDEA编程方式使用hive元数据信息 3.1 添加依赖 3.2 程序示例 正文 ...

  6. Spark on Hive Hive on Spark傻傻分不清?

    Spark on Hive? Hive on Spark傻傻分不清? 1 spark on hive Spark on hive,是spark计算引擎依托hive data source,spark ...

  7. 漫谈大数据 - Spark on Hive Hive on Spark

    目录 Spark on hive 与 Hive on Spark 的区别 Hive查询流程及原理 Hive将SQL转成MapReduce执行速度慢 Hive On Spark优化 Hive元数据库的功 ...

  8. Hive编程指南-Spark操作Hive

    摘要:本文将要说明如何使用Spark来对Hive进行操作 1.打jar包,提交Spark任务 通过提交spark任务的方式,如下面的scala代码.之后需要将成代码打包成一个jar包,然后提交到spa ...

  9. Spark SQL 与 Hive 的第一场会师

    "你好,一杯热美式,加 2 份shot, 1 份焦糖,谢谢" L 跨进汇智国际中心大厦的 Starbucks, 拿着 iPhone 对着点餐机轻轻一扫,对黑带服务员小妹抛出一个笑脸 ...

最新文章

  1. 配置mysql为主主复制步骤
  2. 不愧是阿里大佬,mysql存储过程写法案例
  3. java核心技术-多线程并发设计原理以及常见面试题
  4. ❤️六W字《计算机基础知识》(三)(建议收藏)❤️
  5. VS Code:高效前端程序员的秘密武器
  6. 重磅消息:F5收购Nginx!
  7. chainmaker 交易执行失败也会打包到区块 落盘
  8. android:src app:srccompat,android – 数据绑定与srcCompat
  9. ai人工智能操控什么意思_为什么要建立AI分散式自治组织(AI DAO)
  10. xerces 64位 linux安装,linux安装xml开发包xerces-c
  11. 超级有用的git reset --hard和git revert命令
  12. send()、sendto()和recv()、recvfrom()的使用
  13. 随笔---为什么一到选课时教务系统就卡顿甚至登不上去
  14. 《阿里云前端技术周刊》第二期
  15. BI工具调研之——帆软
  16. FairyGUI个人使用手册 只有重点(1)
  17. 新建UEFI启动分区
  18. “serve with message ‘spawn vue-cli-service ENOENT”的解决办法
  19. 劲乐园合歌(幽灵圣典+飞吧喜鹊+唯一+v3+幽灵圣典2)铃声 劲乐园...
  20. STM32主从模式 精确脉冲数PWM (已实现)

热门文章

  1. 【POJ1144】Network
  2. 我所经历的大文件数据导出(后台执行,自动生成)
  3. Nginx 作为web server 的优化要点
  4. android Fragment 学习资料推荐
  5. makefile .phony targets
  6. 初为项目经理,你应该怎么做?(转载)
  7. 用html5的canvas画布绘制贝塞尔曲线
  8. jQuery Tags Input Plugin(添加/删除标签插件)
  9. C#拾遗系列(3):构造函数
  10. 使用JCIFS获取远程共享文件