Hive3第六章:更换引擎

系列文章目录

Hive3第一章:环境安装
Hive3第二章:简单交互
Hive3第三章:DML数据操作
Hive3第三章:DML数据操作(二)
Hive3第四章:分区表和分桶表
Hive3第五章:函数

Hive3第六章:更换引擎


文章目录


前言

这个博客主要是作为数仓项目的一次补充,主要是更换hive引擎,传统的MR引擎在hive2之后就不推荐了,我们这次更换spark引擎,使用hive on yarn。


一、更换hive

通过官方的版本依赖,现在的hive是不支持spark3的,所以我们需要重新编译,可以使用idea打开源码,然后修改pom.xml中的spark和scala版本,考虑到各种问题,这里就不专门演示了。博主能力有限,没成功。具体文件可以去尚硅谷的线上问诊的离线数仓的项目里下载一个。

二、安装hive

先正常安装hive
hive安装

三、更换引擎

1.部署Spark纯净版

下载地址spark-3.3.1-bin-without-hadoop.tgz

上传并解压

2.修改配置文件

mv spark-env.sh.template spark-env.sh

vim /opt/module/spark/conf/spark-env.sh

最底下加一行。

bash 复制代码
export SPARK_DIST_CLASSPATH=$(hadoop classpath)

sudo vim /etc/profile.d/my_env.sh

bash 复制代码
# SPARK_HOME
export SPARK_HOME=/opt/module/spark
export PATH=$PATH:$SPARK_HOME/bin

source 一下

bash 复制代码
source /etc/profile.d/my_env.sh

vim /opt/module/hive/conf/spark-defaults.conf

bash 复制代码
spark.master                               yarn
spark.eventLog.enabled                   true
spark.eventLog.dir                        hdfs://hadoop102:8020/spark-history
spark.executor.memory                    1g
spark.driver.memory					     1g

vim /opt/module/hive/conf/hive-site.xml

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

3.HDFS创建目录

bash 复制代码
hadoop fs -mkdir /spark-jars
hadoop fs -mkdir /spark-history

4.上传jar包

bash 复制代码
hadoop fs -put /opt/module/spark/jars/* /spark-jars

5.hive测试

bash 复制代码
create table student(id int, name string);
insert into table student values(1,'abc');

由于第一次调用会调用spark的jar包,所以第一次时间会长一点。

再插入一条

insert into table student values(2,'abcd');

到此引擎更换完成。


总结

hive更换引擎是数仓学习中很通用的,所以这里单拎出来简单说一下。

相关推荐
humbinal6 天前
同时支持 gui & cli 的 parquet 文件查看工具,高性能小清新!
hive·python·rust·spark·开源·github·parquet
吾AI科技8 天前
基于Tez引擎的 Hive SQL 性能优化
大数据·hive·性能优化·tez
abcy0712139 天前
hive 执行器原理
hive
香山上的麻雀100811 天前
Hive内部表(MANAGED_TABLE)的“批量删除分区”特性详解
数据仓库·hive·hadoop
jjjava2.013 天前
SpringMVC入门指南:从零掌握核心要点
数据仓库·hive·hadoop
AllData公司负责人15 天前
数据库同步平台|AIIData数据中台实现OceanBase、达梦数据库、OpenGauss、人大金仓、Hive、TDengine 一键接入Doris
大数据·数据库·hive·mysql·oceanbase·tdengine
AllData公司负责人15 天前
数据同步平台|AIIData数据中台实现MySQL、Hive、Kafka 一键接入Doris
大数据·数据库·hive·mysql·kafka·实时同步
李昊哲小课16 天前
Ubuntu26.04-Hadoop3.5.0搭建hive4.2.0
数据仓库·hive·数仓
AllData公司负责人17 天前
数据集成管理|AIIData数据中台实现MySQL、Hive、Oracle一键接入Doris
大数据·数据库·人工智能·hive·mysql·oracle·数据分析
泰克教育官方账号17 天前
泰涨知识 | Hive集群环境部署
数据仓库·hive·hadoop