Spark集群整合hive以及java.lang.ClassNotFoundException: org.apache.tez.dag.api.SessionNotRunning问题解决

本文介绍了如何在集群环境中整合Spark与Hive,包括删除metastore_db和spark-warehouse文件,导入配置文件如hive-site.xml和core-site.xml等。在整合过程中可能遇到`java.lang.ClassNotFoundException: org.apache.tez.dag.api.SessionNotRunning`的问题,解决方法是将Spark配置中的Hive引擎设置为MR。最后,提供了使用spark-shell和spark-sql进行操作的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过spark操作hive中的数据

在集群(服务器)上整合

步骤

1.如果在spark的bin目录下存在metastore_db或者spark-warehouse文件,将这两个文件删除
2.导入配置文件

1.hive/conf/hive-site.xml
2.hadoop/etc/hadoop/core-site.xml和hdfs-site.xml
将上述三个文件放入spark/conf目录下,这样就整合好了

3.问题

如果遇到以下问题
在这里插入图片描述

在这里插入图片描述
将spark下的conf目录中的hive-site.xml里引擎的配置改为mr,这样问题就解决了
在这里插入图片描述

4.使用

1.使用spark/bin目录下的spark-shell
在这里插入图片描述
2.使用spark-sql可以直接使用sql语句进行操作
在这里插入图片描述

java.lang.ClassNotFoundExceptionJava编程中的一个异常,它表示无法到指定的。在你提供的问题中,异常的完整名称是java.lang.ClassNotFoundException: org.apache.hadoop.hive.ql.io.parquet.mapreduce.ParquetInputFormat。 这个异常通常发生在Java程序中使用Hadoop和Hive进行数据处理时。它的出现意味着Java虚拟机(JVM)无法加载指定的。 主要原因可能有以下几种情况: 1. 缺少相关的依赖库:在使用Hive和Parquet进行数据处理时,需要正确配置和引入相关的依赖库。如果依赖库缺失或版本不匹配,就可能导致ClassNotFoundException的异常。解决方法是确保所有的依赖库都被正确引入,并且版本相互兼容。 2. 路径配置错误:JVM在运行Java程序时会在路径中查需要的。如果路径没有正确配置,就无法到目标,也会触发ClassNotFoundException。检查路径配置,确保包含了正确的依赖库和路径。 3. 名拼写错误:有时候,名可能被错误地拼写,导致JVM无法到目标。在这种情况下,只需检查并修正名的拼写错误即可。 综上所述,java.lang.ClassNotFoundException: org.apache.hadoop.hive.ql.io.parquet.mapreduce.ParquetInputFormat是一个Java加载异常,常见于使用Hadoop和Hive进行数据处理时。解决这个问题的关键是检查依赖库的引入、路径的配置和名的拼写,确保所有配置正确无误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值