尝试构建简单的Spark独立Java应用程序时出现Maven包错误

尝试构建简单的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</

我正试图构建一个简单的Spark独立Java应用程序,就像中一样

下面是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>
    <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>