尝试构建简单的Spark独立Java应用程序时出现Maven包错误
我正试图构建一个简单的Spark独立Java应用程序,就像中一样 下面是pom.xml尝试构建简单的Spark独立Java应用程序时出现Maven包错误,maven,apache-spark,Maven,Apache Spark,我正试图构建一个简单的Spark独立Java应用程序,就像中一样 下面是pom.xml <project> <groupId>edu.berkeley</groupId> <artifactId>simple-project</artifactId> <modelVersion>4.0.0</modelVersion> <name>Simple Project</
<project>
<groupId>edu.berkeley</groupId>
<artifactId>simple-project</artifactId>
<modelVersion>4.0.0</modelVersion>
<name>Simple Project</name>
<packaging>jar</packaging>
<version>1.0</version>
<dependencies>
<dependency> <!-- Spark dependency -->
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>2.2.0</version>
</dependency>
</dependencies>
</project>
也许你需要:
import org.apache.spark.sql.Dataset
您可以尝试添加以下插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>${java-version}</source>
<target>${java-version}</target>
</configuration>
</plugin>
org.apache.maven.plugins
maven编译器插件
3.6.1
${java版本}
${java版本}
添加一个额外的导入行
import org.apache.spark.sql.Dataset;
改变
spark.read.textFile(logFile).cache();
到
我的pom.xml如下所示
<project>
<groupId>edu.berkeley</groupId>
<artifactId>simple-project</artifactId>
<modelVersion>4.0.0</modelVersion>
<name>Simple Project</name>
<packaging>jar</packaging>
<version>1.0</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency> <!-- Spark dependency -->
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>2.2.0</version>
</dependency>
</dependencies>
</project>
伯克利教育学院
简单项目
4.0.0
简单项目
罐子
1
org.apache.maven.plugins
maven编译器插件
3.3
1.8
1.8
org.apache.spark
spark-sql_2.11
2.2.0
这应该可以解决您的问题您编译的是SparkSql,而不是Spark?的其余部分,并尝试使用IDE,不要只是复制示例并假设它们是正确的。问题已经解决。在java代码中至少有两件事情需要解决。第一个是需要导入数据集包org.apache.spark.sql.Dataset,另一个是调用spark.read.textFile(logFile.cache())时使用的scala API示例,在Java中,它应该是spark.read().textFile(logFile.cache())。检查API文档以使其正常工作。
import org.apache.spark.sql.Dataset;
spark.read.textFile(logFile).cache();
spark.read().textFile(logFile).cache();
<project>
<groupId>edu.berkeley</groupId>
<artifactId>simple-project</artifactId>
<modelVersion>4.0.0</modelVersion>
<name>Simple Project</name>
<packaging>jar</packaging>
<version>1.0</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency> <!-- Spark dependency -->
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>2.2.0</version>
</dependency>
</dependencies>
</project>