我的是hive3.1.3 spark3.3.0(请先将自己的 hive on mr 搭建完场,有简单了解在搞这个)
1.下载hive源码
2. maven编译:mvn clean -DskipTests package -Pdist (idea 编译不行,能行的评论告诉我)
右键 - Git Bash
在这里插入图片描述
在这里插入图片描述

  1. idea打开项目,右键pom 添加成maven项目
  2. 修改pom中自己所需依赖的版本
改为自己所需版本
	<spark.version>3.3.0</spark.version>
    <scala.binary.version>2.12</scala.binary.version>
    <scala.version>2.12.15</scala.version>
    <SPARK_SCALA_VERSION>2.12</SPARK_SCALA_VERSION>
    

编译报错(idea build查看错误位置也可)解决参考地址
往下滑查看文中的
< 整合spark3.0.0
< 改造原来hive(可略过)我补充下
<<1. 我是将原来的 conf 文件中用到的配置文件 copy 到新的项目中
<<2. 将原来 metastore_db copy过来(不知跨什么版本会有问题 欢迎评论)
5. 重新命令编译
在这里插入图片描述
成功后找到编译完的包:packaging\apache-hive-3.1.3-bin.tar.gz ,上传到服务器解压,再idea项目中下图的包上传到 hive/lib 下
参考自此链接 - Hive On Spark配置 标题下
在这里插入图片描述
将原来的元数据服务 kill 掉,然受启动新的
hive --service metastore &

hive 启动验证:

  1. 看看元数据是否正常
    在这里插入图片描述

  2. create table student(id int, name string);

  3. insert into table student values(1,‘abc’);

在这里插入图片描述

hive-site.xml 	要注意的配置
<property>
    <name>spark.yarn.jars</name>
    <value>hdfs://hadoop102:9000/spark-jars/*</value>
</property>

<property>
	<name>hive.spark.client.connect.timeout</name>
	<value>30000</value>
</property>
<property>
	<name>hive.spark.client.server.connect.timeout</name>
	<value>300000</value>
</property>
<property>
	<name>hive.spark.client.future.timeout</name>
	<value>1200</value>
</property>

注意:
环境变量要不要改 记得 source /etc/profile(只有当前及之后的会话才生效)

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐