Hive312的计算引擎由MapReduce(默认)改为Spark(亲测有效)

news2024/11/20 13:27:26

一、Hive引擎包括:默认MR、tez、spark
在低版本的hive中,只有两种计算引擎mr, tez
在高版本的hive中,有三种计算引擎mr, spark, tez


二、Hive on Spark和Spark on Hive的区别
Hive on Spark:Hive既存储元数据又负责SQL的解析,语法是HQL语法,执行引擎变成了Spark,Spark负责采用RDD执行。
Spark on Hive : Hive只存储元数据,Spark负责SQL解析,语法是Spark SQL语法,Spark负责采用RDD执行。

注意:目前官网的Hive3.1.2和Spark3.0.0默认是不兼容的。因为Hive3.1.2支持的Spark版本是2.4.5,所以除了spark-3.0.0-bin-hadoop3.2.tgz安装包外,还需要纯净版jar包spark-3.0.0-bin-without-hadoop.tgz

jar包链接: https://pan.baidu.com/s/17P9aMotyvbBk5IR5Fw56lg 提取码: e997


三、三种引擎如何切换(计算引擎一般为mr或者spark)
1、配置mapreduce计算引擎
set hive.execution.engine=mr;

2、配置tez计算引擎
set hive.execution.engine=tez;

3、配置spark计算引擎(切换spark引擎时,服务器要安装好spark,并且hive与spark的版本要配套)
set hive.execution.engine=spark;


四、查看目前hive使用的计算引擎
set hive.execution.engine;


五、安装与hive配套的spark(前提是已经安装好Hive3.1.2、Spark3.0.0

第一步,在hive中创建spark配置文件 (注意:端口号8020必须和namenode的端口号一致)
[root@hurys22 ~]# cd /opt/soft/hive312/conf/
[root@hurys22 conf]# vi  spark-defaults.conf

spark.master                                     yarn
spark.eventLog.enabled                   true
spark.eventLog.dir                            hdfs://192.168.0.22:8020/spark-history
spark.executor.memory                    1g
spark.driver.memory                         1g

第二步,在HDFS创建文件夹spark-history,用于存储历史日志
[root@hurys22 conf]# hdfs dfs -mkdir /spark-history

第三步,解压并向HDFS上传Spark纯净版jar包spark-3.0.0-bin-without-hadoop.tgz
1.解压spark纯净版安装包
[root@hurys22 install]# tar -zxf /opt/install/spark-3.0.0-bin-without-hadoop.tgz   -C /opt/soft/
[root@hurys22 install]# cd /opt/soft/
[root@hurys22 soft]# ls
flume190  hadoop313  hbase205  hive312  kafka213  scala211  spark300  spark-3.0.0-bin-without-hadoop  zepplin090
2.重命名安装目录
[root@hurys22 soft]# mv spark-3.0.0-bin-without-hadoop/  spark300without
[root@hurys22 soft]# ls
flume190  hadoop313  hbase205  hive312  kafka213  scala211  spark300  spark300without  zepplin090
3.在HDFS创建文件夹spark-jars,用于存放纯净版spark安装目录里的jar包
[root@hurys22 soft]# hdfs dfs -mkdir /spark-jars
4.上传Spark纯净版安装目录里的jar包到HDFS的spark-jars文件夹中
[root@hurys22 soft]# hdfs dfs -put spark300without/jars/*    /spark-jars

第四步,修改hive-site.xml文件
[root@hurys22 soft]# cd /opt/soft/hive312/conf/
[root@hurys22 conf]# ls
beeline-log4j2.properties.template  hive-exec-log4j2.properties.template  ivysettings.xml                         nohup.out
hive-default.xml.template           hive-log4j2.propertie                 llap-cli-log4j2.properties.template     parquet-logging.properties
hive-env.sh                         hive-site.xml                         llap-daemon-log4j2.properties.template  spark-defaults.conf
[root@hurys22 conf]# vi hive-site.xml

<!--Spark依赖位置(注意:端口号8020必须和namenode的端口号一致)-->
<property>
    <name>spark.yarn.jars</name>
    <value>hdfs://192.168.0.22:8020/spark-jars/*</value>
</property>
  
<!--Hive执行引擎-->
<property>
    <name>hive.execution.engine</name>
    <value>spark</value>
</property>

<!--Hive和Spark连接超时时间-->
<property>
    <name>hive.spark.client.connect.timeout</name>
    <value>10000ms</value>
</property>


第五步,Hive on Spark测试
1.登录hive
[root@hurys22 conf]# hive
2.建测试库
hive> create database  test2;
OK
Time taken: 0.149 seconds
hive> show  databases;
OK
default
test
test2
hive> use  test2;
OK
3.建测试表
hive> create table student(id int, name string);
OK
4.插入数据
hive> insert into table student values(1,'zhangsan');

5.查看数据
hive> select * from student;
OK
1    zhangsa
6.查看目前hive使用的计算引擎
hive> set hive.execution.engine;
hive.execution.engine=spark

 乐于奉献共享,帮助你我他!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/454609.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】生产者消费者模型——环形队列RingQueue(信号量)

文章目录 铺垫信号量信号量概念信号量PV操作信号量基本接口 环形队列的生产消费模型引入环形队列访问环形队列代码实现代码改造多生产者多消费者代码 总结 铺垫 之前写的代码是存在不足的地方的&#xff1a; 我们使用线程操作临界资源的时候要先去判断临界资源是否满足条件&am…

QoS部署

1.总部和分部之间视频出现花屏,语音图像不同步的现象是有哪些原因导致的? 如图所示总部和分部之间的流量有FTP数据流量、视频流量和语音流量。如果在总部和分部之间的这几类流量没有做QoS部分或者优先级的区分,那么这些流量基于默认的无差别的流量策略去竞争带宽,如果FTP数…

暴躁兔分享:火爆圈子的XEN,我们如何吃到一波红利的

这周沉闷的熊市突然冲出一个XEN项目。 在这个项目上我们经历了拿到消息&#xff0c;看不懂不做&#xff0c;获取新的信息&#xff0c;发现可以搞&#xff0c;冲的这么一个过程。虽然由于信息查和认知差没有吃到最早拿到信息那波的利润&#xff0c;但是通过分析也跟着喝了一点汤…

网页源代码检查时隐藏 WebSocket 的后端地址

背景 近期在自研如何通过 OpenAI 实现 与ChatGPT 官网一样的聊天对话效果。 用到了 html5websocketpython 三项技术 , 于是用一天时间自学了一下这方面技术。 当实现了功能之后&#xff0c;就得考虑安全问题&#xff1a; 在用 html5 实现与 websocket 通讯时&#xff0c;如何保…

管理后台项目-05-SKU列表-上下架-详情抽屉效果-深度选择器

目录 1-SKU列表 2-SKU上下架 3-SKU详情 1-SKU列表 当用户点击Sku管理&#xff0c;组件挂载的时候&#xff0c;我们需要获取sku列表信息&#xff1b;但是获取列表方法在分页列表改变页码和每页显示大小的时候也需要触发&#xff0c;我们封装为一个方法。 //sku列表的接口 /adm…

Elasticsearch聚合、自动补全 | 黑马旅游

一、数据聚合 1、聚合的分类 聚合&#xff08;aggregations&#xff09;可以实现对文档数据的统计、分析、运算。 聚合常见有三类&#xff1a; 桶聚合 Bucket&#xff1a;对文档数据分组&#xff0c;并统计每组数量 TermAggregation&#xff1a;按照文档字段值分组&#xf…

中国电子学会2023年03月青少年软件编程Scratch图形化等级考试试卷二级真题(含答案)

中国电子学会2023年03月青少年软件编程Scratch图形化等级考试试卷二级 1.小猫的程序如图所示&#xff0c;积木块的颜色与球的颜色一致。点击绿旗执行程序后&#xff0c;下列说法正确的是&#xff1f;&#xff08;C&#xff09;&#xff08;2分&#xff09; A.小猫一直在左右移…

JDBC详解(二):获取数据库连接(超详解)

JDBC详解&#xff08;二&#xff09;&#xff1a;获取数据库连接 前言一、要素一&#xff1a;Driver接口实现类1、Driver接口介绍2、加载与注册JDBC驱动 二、要素二&#xff1a;URL三、要素三&#xff1a;用户名和密码四、数据库连接方式举例4.1 连接方式一4.2 连接方式二4.3 连…

15天学习MySQL计划-数据库引擎(进阶篇)第六天

15天学习MySQL计划-数据库引擎&#xff08;进阶篇&#xff09;第六天 1.数据库引擎 1.MySQL体系结构 连接层服务层引擎层存储层 2.存储引擎 存储引擎简介 ​ 1.概述 ​ 存储引擎就是存储数据&#xff0c;建立索引&#xff0c;更新/查询数据等技术的实现方式。存储引擎是基…

android ANativeWindow surface显示

前言 最近做车机camera 倒车影像问题&#xff0c;需要通过c调用camera&#xff0c;并显示在android ui界面之上。 最终效果图 代码实现 Android.bp cc_binary {name: "stest",vendor: true,srcs: ["main.cpp"],shared_libs: ["libcutils",&q…

Android入门基础教程

第1章 Android Studio运行第一个程序 1.1 Android Studio下载&#xff1a; 1.1.1 Android开发者官网&#xff1a; https://developer.android.google.cn ​ 1.1.2 下载Android Studio开发者工具&#xff1a; 进入Android开发者官网&#xff1b;找到Android Studio工具下载页…

【LeetCode刷题笔记】反转链表、移除链表元素、两两交换链表中的节点、删除链表的倒数第N个结点

&#x1f4dd;个人主页&#xff1a;爱吃炫迈 &#x1f48c;系列专栏&#xff1a;数据结构与算法 &#x1f9d1;‍&#x1f4bb;座右铭&#xff1a;道阻且长&#xff0c;行则将至&#x1f497; 文章目录 反转链表移除链表元素两两交换链表中的节点删除链表的倒数第 N 个结点&…

脉搏波信号去噪方法

一、引言 脉搏波信号是血管中血液流动产生的振动信号&#xff0c;反映了血管的弹性特性和血流动力学信息。由于其丰富的生理信息&#xff0c;脉搏波信号在诊断和监测心血管疾病、神经系统疾病等方面具有重要意义。然而&#xff0c;原始脉搏波信号往往受到生理干扰、环境噪声等…

人工智能在心电信号的心律失常应用

心律失常是一种常见的心脏疾病&#xff0c;它会导致心脏跳动不规律&#xff0c;严重的甚至会引发心脏骤停。传统的心律失常诊断方法是通过心电图对心律失常进行分析&#xff0c;但是这种方法需要医生具备专业的知识和经验&#xff0c;而且容易出现误诊。而人工智能技术可以对心…

倾斜摄影三维模型OSGB格式转换3DTILES的关键技术浅析

倾斜摄影三维模型OSGB格式转换3DTILES的关键技术浅析 将三维模型从OSGB格式转换为3DTILES格式需要掌握以下关键技术&#xff1a; 1、数据结构转换&#xff1a;OSGB格式和3DTILES格式采用了不同的数据结构&#xff0c;因此需要进行数据结构转换。OSGB格式采用了分层划分数据结构…

D3.js(3) path/折线图

一、概念 path 元素是用来绘制各种形状&#xff08;例如线条、曲线、弧形、圆弧等&#xff09;的元素。path 元素的 d 属性用来定义绘制的路径。具体来说&#xff0c;d 属性是一个字符串&#xff0c;包含一系列的命令和参数&#xff0c;用来描述路径的形状。 1.1 d属性 Mmov…

Linux子进程信号处理机制

Linux中子进程的信号处理与父进程的联系有以下三条&#xff1a; fork后子进程会继承父进程绑定的信号处理函数&#xff08;很好解释&#xff0c;子进程会拷贝父进程的代码&#xff0c;包括信号处理函数&#xff09;如果子进程调用exec族函数&#xff0c;子进程代码段被新的程序…

Qt 项目Mingw编译器转换为VS编译器时的错误及解决办法

错误 在mingw生成的项目&#xff0c;转换为VS编译器时通常会报些以下错误&#xff08;C4819警告&#xff0c;C2001错误&#xff0c;C2143错误&#xff09; 原因及解决方式 这一般是由于字符编码引起的&#xff0c;在源代码文件中包含了中文字符导致的。Qt Creator 生成的代码文…

算法的时间复杂度和空间复杂度分析

文章目录 实验目的实验内容实验过程运行结果复杂度分析 实验目的 通过本次实验&#xff0c;了解算法复杂度的分析方法&#xff0c;掌握递归算法时间复杂度的递推计算过程。 实验内容 二路归并排序的算法设计和复杂度分析。 实验过程 1.算法设计 归并排序&#xff1a;是指将…

活动回顾|多模态 AI 开发者的线下聚会@深圳站(内含福利)

回顾来了&#xff01; 4 月 22 日&#xff0c;由 Jina AI 和 OpenMMLab 联合主办的 「多模态 AI 」Office Hours 深圳站圆满结束&#xff0c;迎来了将近 60 位开发者的热情参与&#xff01;现场不仅有别开生面的「开发者集市」供大家打卡赢取好礼&#xff0c;更有四场干货满满的…