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

1 spark on hive

Spark on hive,是spark计算引擎依托hive data source,spark 可以依托JDBC、File、Collection等数据源,hive只是spark集成的数据源之一;具体可以参考spark官方文档;我们可以在代码中配置enableHiveSupport来启用Hive数据源。这里是Spark集成Hive。

NOTE : 此时的客户端是SparkSQL,Hive目前的角色只是Catalog元数据的支持组件

2 Hive on Spark

Hive on Spark,显而易见,Hive on MapReduce是默认配置,就像mapreduce一样,spark可以作为query processor中的查询引擎,Tez也是可以作为Hive的底层查询引擎,所以这里是Hive集成Spark。具体可以参考、Hive官方文档

就类似于Hive on Hbase一样,Hive可以作为数据库管理工具管理Hbase中的数据 ,这里也是Hive中的hbase集成控件的一部分。
NOTE: 此时的客户端是Hive Cli,SPark只是作为计算引擎,

2.1 hive on spark之版本匹配

Hive on Spark is only tested with a specific version of Spark, so a given version of Hive is only guaranteed to work with a specific version of Spark. Other versions of Spark may work with a given version of Hive, but that is not guaranteed. Below is a list of Hive versions and their corresponding compatible Spark versions.

Hive Version Spark Version
master 2.3.0
3.0.x 2.3.0
2.3.x 2.0.0
2.2.x 1.6.0
2.1.x 1.6.0
2.0.x 1.5.0
1.2.x 1.3.1
1.1.x 1.2.0

2.2 安装Spark

目前Hive不仅支持standalone的spark模式,包括client、cluster,同时支持spark on yarn的模式。

2.3 hive on spark对yarn的配置

必须用fairScheduler 替代默认的 capacityScheduler

具体配置可以参考:fairScheduler

2.4 配置hive

  • Hive2.2.0之前的版本,需要将spark-assembly-VERSION.jar通过拷贝或者团链接的形式添加到$HIVE_HOME/lib下;
  • Hive2.2.0之后,不需要跟之前的方式一样,如果是yarn模式的话,do this~
    • 引入scala-library 到$HIVE_HOME/lib
    • 引入Spark-core到$HIVE_HOME/lib
    • 引入Spark-network-common到$HIVE_HOME/lib
  • 运行本地模式,继续观看官网,手把手教程

2.5 切换执行引擎为spark

以下配置可以在交互式bin/hive 模式或者在hive-site.xml中指定。

set hive.execution.engine=spark;set spark.master=yarn-cluster;
set spark.eventLog.enabled=true;
set spark.eventLog.dir=hdfs:///spark-log;
set spark.executor.memory=512m;
set spark.serializer=org.apache.spark.serializer.KryoSerializer;

具体配置解析如下:

  • spark.executor.memory: Amount of memory to use per executor process.
  • spark.executor.cores: Number of cores per executor.
  • spark.yarn.executor.memoryOverhead: The amount of off heap memory (in megabytes) to be allocated per executor, when running Spark on Yarn. This is memory that accounts for things like VM overheads, interned strings, other native overheads, etc. In addition to the executor’s memory, the container in which the executor is launched needs some extra memory for system processes, and this is what this overhead is for.
  • spark.executor.instances: The number of executors assigned to each application.
  • spark.driver.memory: The amount of memory assigned to the Remote Spark Context (RSC). We recommend 4GB.
  • spark.yarn.driver.memoryOverhead: We recommend 400 (MB).

2.6 指定yarn node去缓存spark运行依赖的jar包配置

2.6.1 Hive 2.2.0以前的版本操作

<!--在hive-site.xml中指定-->
<!--我们需要$SPARK_HOME/jars/spark-assembly.jar上传到指定的hdfs目录下-->
<property><name>spark.yarn.jar</name><value>hdfs://shufang101:8020/spark-assembly.jar</value>
</property>

2.6.2 Hive 2.2.0及之后的版本

<!--在hive-site.xml中指定-->
<!--我们需要$SPARK_HOME/jars 下的所有东西都上传到指定的hdfs目录下-->
<property><name>spark.yarn.jars</name><value>hdfs://shufang101:8020/spark-jars/*</value>
</property>

Spark on Hive Hive on Spark傻傻分不清?相关推荐

  1. 国防大学计算机学院,国防大学和国防科技大学是同一所学校吗?很多人傻傻都分不清!...

    国防大学和国防科技大学,这两所大学名字相近,极易混淆,在很多网站搜索"国防大学录取分数线",出来的全是国防科技大学的的高考录取分数线,所以给广大考生带来了很大困惑,难道国防大学和国 ...

  2. spark为什么比hive速度快?

    spark是什么? spark是针对于大规模数据处理的统一分析引擎,通俗点说就是基于内存计算的框架 spark和hive的区别? spark的job输出结果可保存在内存中,而MapReduce的job ...

  3. SparkSQL Spark on Hive Hive on Spark

    刚开始接触Spark被Hive在Spark中的作用搞得云里雾里,这里简要介绍下,备忘. 参考:https://blog.csdn.net/zuochang_liu/article/details/82 ...

  4. [Spark][Hive][Python][SQL]Spark 读取Hive表的小例子

    [Spark][Hive][Python][SQL]Spark 读取Hive表的小例子 $ cat customers.txt 1 Ali us 2 Bsb ca 3 Carls mx $ hive ...

  5. spark sql读取hive底层_scala – 从一个hive表中读取并使用spark sql写回来

    我正在使用Spark SQL读取Hive表并将其分配给 scala val val x = sqlContext.sql("select * from some_table") 然 ...

  6. Spark _26_Spark On Hive的配置

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

  7. 记录hiveonspark:Execution Error, return code 30041 from org.apache.hadoop.hive.ql.exec.spark.SparkTask

    问题描述: 在部署hive on spark,测试时报错,执行建表操作成功,但是插入insert出现以下错误: Failed to execute spark task, with exception ...

  8. Spark SQL整合Hive

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

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

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

最新文章

  1. JAVA常用基础知识点[继承,抽象,接口,静态,枚举,反射,泛型,多线程...]
  2. java调用天气预报api_java调用中国天气网api获得天气预报信息
  3. 在linux下,如何在C语言中使用正则表达式
  4. JavaScript闭包学习笔记
  5. Windows下多个JDK版本的切换方法
  6. 信息学奥赛C++语言: 趣味整数3(回文数)
  7. sql:MySQL 6.7 表,视图,存储过程结构查询
  8. SpringBoot配置swagger2(亲测有效,如果没有配置成功,欢迎在下方留言)
  9. 计数排序(count sort)
  10. Linux学习之旅(二)Linux文档操作
  11. php清空session值_删除与销毁session
  12. 大三-软件工程复习-自我理解后制作
  13. webrtc QOS方法四(Sender Side BWE)
  14. TcaplusDB君 · 行业新闻汇编(一)
  15. [源码学习][知了开发]WebMagic-总体流程源码分析
  16. 机器学习入门系列之PCA降维
  17. (九)巴菲特与索罗斯的投资习惯:术业有专攻
  18. 福州三中 计算机竞赛,福州高中学科竞赛亮点耀眼
  19. php实现网站支付,php银联网页支付实现方法
  20. android应用卸载后,出现的本地数据库内容未删除现象

热门文章

  1. SegeX SgxVariantArrayT:VC封装支持多维数组的变体类型(VRIANT 、SafeArray)(附免费免积分源代码)
  2. 关于H5请求数据报跨域问题记录
  3. cearte-react-app中craco中优雅引入svg【自定义宽、高、颜色,仅需5步】
  4. Linux十大常用命令
  5. linux桌面鼠标可动 但点其他,电脑鼠标能动但点不了的两种解决方法
  6. php.c drcom,Drcom (简体中文)
  7. 20172305 结对编程项目-四则运算 第二周 阶段总结
  8. IT30知识星球—工作报告7步曲
  9. 2021年美容师(初级)新版试题及美容师(初级)证考试
  10. html中日期下拉选怎么设置,html中option标签(下拉列表选项)的详细介绍