首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spark:读/写CSV时的ClassNotFoundException

Spark:读/写CSV时的ClassNotFoundException
EN

Stack Overflow用户
提问于 2018-06-20 15:47:12
回答 3查看 1.9K关注 0票数 0

我正在尝试将DataFrame写入HDFS上的CSV文件,如下所示

代码语言:javascript
运行
复制
df.write()
  .format("com.databricks.spark.csv")
  .option("header", "true")
  .save("/user/cloudera/csv");

但是我得到了以下错误

代码语言:javascript
运行
复制
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/csv/CSVFormat
...
Caused by: java.lang.ClassNotFoundException: org.apache.commons.csv.CSVFormat
... 21 more

我的pom.xml有以下依赖项

代码语言:javascript
运行
复制
<dependency>
  <groupId>com.databricks</groupId>
  <artifactId>spark-csv_2.10</artifactId>
  <version>1.5.0</version>
</dependency>

<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-csv</artifactId>
  <version>1.5</version>
</dependency>

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-sql_2.10</artifactId>
    <version>1.6.0</version>
</dependency>

我将spark 1.6.0与scala 2.10.5结合使用,并使用以下命令提交作业

代码语言:javascript
运行
复制
spark-submit --jars /path/spark-csv_2.10-1.5.0.jar --class com.iris.Begin /path/CsvSolver.jar

我在.m2存储库中也有commons-csv/1.1和commons-csv/1.5。

有人能帮我一下吗?

EN

回答 3

Stack Overflow用户

发布于 2018-06-20 17:10:18

只需尝试将这些需要的jars添加到位于spark folder ...\spark\jars\中的jars文件夹

票数 0
EN

Stack Overflow用户

发布于 2018-06-20 17:32:30

代码语言:javascript
运行
复制
 <dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-csv</artifactId>
    <version>1.5</version>
</dependency>

尝试将此内容添加到pom。如果这不起作用,请手动从这里下载JAR,然后使用-- https://mvnrepository.com/artifact/org.apache.commons/commons-csv/1.5添加来触发提交。那肯定会解决这个问题

票数 0
EN

Stack Overflow用户

发布于 2018-06-20 19:00:18

最好构建包含所有依赖项的fat jar (应该将spark-core标记为provided) &只提交这个jar,而不使用任何额外的--jars选项。

在Maven中,您可以通过结合使用Maven Assembly pluginpredefined profile jar-with-dependencies来生成fat jar。类似于:

代码语言:javascript
运行
复制
<build>
  <plugins>
    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <version>3.1.0</version>
      <executions>
        <execution>
          <phase>package</phase>
          <goals>
            <goal>single</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
      </configuration>
    </plugin>
  </plugins>
</build>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50942950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档