一百零六、Hive312的计算引擎由MapReduce(默认)改为Spark(亲测有效)

news2024/11/25 9:29:59

一、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

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

再续  2023-04-24   14:29

在hive on  spark装好后,我用mr和spark两种计算引擎处理相同的SQL,从而得到两个不同的处理时间。

如下图,总共8张表,SQL语句一样,spark计算引擎的速度比mr计算引擎的速度大概快十倍左右!!!  惊喜

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

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

相关文章

【0基础】学习solidity开发智能合约-初识solidity

本篇课程开始&#xff0c;我们来学习一下如何使用solidity开发智能合约&#xff0c;由于博主对于solidity的学习&#xff0c;也是自学的&#xff0c;所以一些不足或有纰漏之处还望指出&#xff0c;大家共同进步&#xff0c;本系列课程会分很多节课讲述&#xff0c;从入门到进阶…

安装navicat详细流程

1.双击已下载好的navicat安装包&#xff0c;点击"下一步" 2.点击我同意&#xff0c;在点击"下一步" 3.设置navicat安装路劲&#xff0c; 至少要保证磁盘有90M的空间。在这里选择默认的安装路径&#xff0c;也可以根据自身情况安装到其他盘。 4.默认&#x…

一个几乎全民都会的算法——二分查找

为什么说二分查找是全民都会的算法&#xff1f; 20年前央视2套有一档叫《幸运52》的综艺节目&#xff0c;其中一个环节叫《幸运超市》&#xff0c;每一期已故著名主持人咏哥都会给佳宾们出示几个商品&#xff0c;凡是佳宾猜中价格的&#xff0c;就能获赠这件商品。这档节目红极…

C++ 类和对象(中)构造函数 和 析构函数 ,const成员

上篇链接&#xff1a;C 类和对象&#xff08;上&#xff09;_chihiro1122的博客-CSDN博客 类的6个默认成员函数 我们在C当中&#xff0c;在写一些函数的时候&#xff0c;比如在栈的例子&#xff1a; 如上述例子&#xff0c;用C 返回这个栈是否为空&#xff0c;直接返回的话&am…

Selenium+Pytest自动化测试框架实战

前言 1、Selenium是一个免费的(开源)自动化测试组件&#xff0c;适用于跨不同浏览器和平台的Web应用程序【selenium是一个自动化工具&#xff0c;而不是自动化框架】。它非常类似于HP Quick Test Pro (QTP现在叫UFT)&#xff0c;只是Selenium侧重于自动化基于Web的应用程序。使…

初、高中生到底该不该学习编程?

从小学&#xff0c;到初中&#xff0c;再到高中&#xff0c;知识的提升主要体现在一个方面上&#xff0c;就是知识越来越抽象了。很多孩子在初中成绩还可以&#xff0c;到了高中就跟不上了&#xff0c;这是最主要的一个原因。 编程主要就是要求学习它的人&#xff0c;有较强的…

2023武生院计科专升本指南

自我介绍一下&#xff0c;我叫啊超&#xff0c;22级专升本上岸武生院考了211的计应学长&#xff0c;社恐&#xff0c;不善言辞&#xff0c;出门都走下水道&#xff0c;吃饭因社恐&#xff0c;屡次不敢买单。单身可撩&#xff0c;哈哈哈~ 我只是提出自己的一些个人建议&#xff…

utittest和pytest中mock的使用详细介绍

Mock是Python中一个用于支持单元测试的库&#xff0c;它的主要功能是使用mock对象替代掉指定的Python对象&#xff0c;以达到模拟对象的行为。 python3.3 以前&#xff0c;mock是第三方库&#xff0c;需要安装之后才能使用。python3.3之后&#xff0c;mock作为标准库内置到 un…

防火墙(firewall)

前言 计算机的安全性历来就是人们热衷的话题之一。而随着Internet的广泛应用&#xff0c;人们在扩展了获取和发布能力的同时也带来信息被污染和破坏的危险。这些安全问题主要是由网络的开放性、无边界性、自由性造成的&#xff0c;还包括以下一些因素。 1. 计算机操作系统本身…

分布式补充技术 01.AOP技术

01.AOP技术是对于面向对象编程&#xff08;OOP&#xff09;的补充。是按照OCP原则进行的编写&#xff0c;(ocp是修改模块权限不行&#xff0c;扩充可以) 02.写一个例子&#xff1a; 创建一个新的java项目&#xff0c;在main主启动类中&#xff0c;写如下代码。 package com.co…

CTSI 基金会储备透明度报告——2023 年 1 月

由于 Cartesi 代币 (CTSI) 的下一次解锁定于 2023 年 1 月 23 日&#xff0c;我们很高兴接着上一份透明度报告&#xff0c;我们本次依旧提供关于 Cartesi 基金会的治理、运营以及 CTSI 代币如何分配的另一份官方透明度报告。 提醒一下&#xff0c;为了保证诚实和可信度&#xf…

软件测试工程师简历项目经验怎么写

软件测试工程师简历项目经验怎么写 面试是我们进入一个公司的门槛&#xff0c;通过了面试才能进入公司&#xff0c;你的面试结果和你的薪资是息息相关的。 在面试之前&#xff0c;不得不聊聊简历&#xff0c;简历是职场的敲门砖&#xff0c;是拿到offer的通行证&#xff0c;那么…

【unity学习记录-场景绘制+物体碰撞,场景物体的层级关系】跟着Unity2D官方入门教程 Ruby‘ Adventure

文章目录 创建tilemap编辑一下资源&#xff0c;瓦片调色对于瓦片没有填满的情况&#xff0c;调整每片瓦片的像素 添加点小树或其他&#xff0c;调整层级给树木增加一些碰撞的效果&#xff0c;调整碰撞范围&#xff0c;角色也要添加刚体人物倒着走路的解决方法&#xff08;解决角…

线程与进程,你真得理解了吗

线程与进程&#xff0c;你真得理解了吗 1 进程与线程的关系和区别2 并行与并发3 线程共享了进程哪些资源 相信大家面试时一定没少被一个问题刁难&#xff0c;那就是进程和线程的区别是什么&#xff1f;这个问题延申开来并不像表面那么简单&#xff0c;今天就来深入一探。 开始…

个人简历html网页代码(使用chatgpt完成web开发课的实验)

使用chatgpt完成web开发课的实验 前提&#xff1a; chatgpt的使用&#xff0c;建议看https://juejin.cn/post/7198097078005841980或者自己随便找 要学会用“出国旅游”软件 vscode的基本使用 炼丹开始&#xff1a; 炼丹材料&#xff1a; 帮我写一个html页面&#xff0c;内…

沁恒 CH32V208(四): CH32V208 网络DHCP示例代码分析

目录 沁恒 CH32V208(一): CH32V208WBU6 评估板上手报告和Win10环境配置沁恒 CH32V208(二): CH32V208的储存结构, 启动模式和时钟沁恒 CH32V208(三): CH32V208 Ubuntu22.04 Makefile VSCode环境配置沁恒 CH32V208(四): CH32V208 网络DHCP示例代码分析 硬件部分 CH32V208WBU6 …

Python 网络爬虫与数据采集(一)

Python 网络爬虫与数据采集 第1章 序章 网络爬虫基础1 爬虫基本概述1.1 爬虫是什么1.2 爬虫可以做什么1.3 爬虫的分类1.4 爬虫的基本流程1.4.1 浏览网页的流程1.4.2 爬虫的基本流程 1.5 爬虫与反爬虫1.5.1 爬虫的攻与防1.5.2 常见的反爬与反反爬 1.6 爬虫的合法性与 robots 协议…

深入理解Java虚拟机:JVM高级特性与最佳实践-总结-3

深入理解Java虚拟机&#xff1a;JVM高级特性与最佳实践-总结-3 垃圾收集器与内存分配策略垃圾收集算法标记-清除算法标记-复制算法标记-整理算法 垃圾收集器与内存分配策略 垃圾收集算法 标记-清除算法 最基础的垃圾收集算法是“标记-清除”&#xff08;Mark-Sweep&#xff…

2023年推荐几款开源或免费的web应用防火墙

2023年推荐几款开源或免费的web应用防火墙 2023年&#xff0c;数字经济将强势崛起&#xff0c;并且成为新一轮经济发展的动力&#xff0c;传统的黑客破坏性攻击如CC&#xff0c;转为更隐蔽的如0day进行APT渗透。所以无论私有服务器还是云厂商如Cloudflare、阿里云、腾讯云等都…

无线安全操作(2)

目录 用户隔离 用户隔离介绍 1、集中式转发方式 2、分布式转发方式 用户隔离配置 用户隔离举例 用户静默排错帮助 ARP抑制 ARP抑制介绍 ARP抑制配置 ARP抑制举例 动态黑名单 动态黑名单概述 动态黑名单配置 动态黑名单举例 动态黑名单排错帮助 无线SAVI 无线…