这是我的pom,我现在在本地往hive写数据,没问题,但是,如果打成jar包,放到服务器上,执行就有问题
- <project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0modelVersion>
- <properties>
- <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
- <project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding>
- <maven.compiler.source>1.8maven.compiler.source>
- <maven.compiler.target>1.8maven.compiler.target>
-
- <scala.version>2.11.12scala.version>
- <spark.version>2.4.0spark.version>
- <java.version>1.8java.version>
-
- properties>
- <groupId>org.examplegroupId>
- <artifactId>DataPrepareartifactId>
- <version>1.0-SNAPSHOTversion>
- <dependencies>
-
- <dependency>
- <groupId>org.scala-langgroupId>
- <artifactId>scala-libraryartifactId>
- <version>${scala.version}version>
- dependency>
- <dependency>
- <groupId>org.apache.sparkgroupId>
- <artifactId>spark-core_2.11artifactId>
- <version>${spark.version}version>
- dependency>
- <dependency>
- <groupId>org.apache.sparkgroupId>
- <artifactId>spark-hive_2.11artifactId>
- <version>${spark.version}version>
- dependency>
- <dependency>
- <groupId>org.apache.sparkgroupId>
- <artifactId>spark-sql_2.11artifactId>
- <version>${spark.version}version>
- dependency>
-
- dependencies>
-
- <build>
- <finalName>WordCountfinalName>
- <plugins>
- <plugin>
- <groupId>net.alchim31.mavengroupId>
- <artifactId>scala-maven-pluginartifactId>
- <version>3.2.2version>
- <executions>
- <execution>
- <goals>
- <goal>compilegoal>
- <goal>testCompilegoal>
- goals>
- execution>
- executions>
- plugin>
- <plugin>
- <groupId>org.apache.maven.pluginsgroupId>
- <artifactId>maven-assembly-pluginartifactId>
- <version>3.0.0version>
- <configuration>
- <archive>
- <manifest>
- <mainClass>WordCountmainClass>
- manifest>
- archive>
- <descriptorRefs>
- <descriptorRef>jar-with-dependenciesdescriptorRef>
- descriptorRefs>
- configuration>
- <executions>
- <execution>
- <id>make-assemblyid>
- <phase>packagephase>
- <goals>
- <goal>singlegoal>
- goals>
- execution>
- executions>
- plugin>
- plugins>
- build>
-
- project>

后来了解到,只有在用代码集成hive-jdbc,spark-core,spark-sql,spark-hive等依赖的时候,就会报出这么一个问题。
spark-hive.jar包和spark2.4有冲突,这个是一个社区问题,不是你的问题。
本地,idea运行时,需要有这个spark-hive,但是你上传到集群交给,yarn去执行每台机器的spark就必须把他注释掉。
解决方案:丢到集群的时候,注释掉,在进行打包
-
-
-
-