无法加载数据源类:com.databricks.spark.csv

时间:2015-07-23 19:40:46

标签: apache-spark

我的build.sbt文件包含:

scalaVersion := "2.10.3"
libraryDependencies += "com.databricks" % "spark-csv_2.10" % "1.1.0"

我在独立群集模式下运行Spark,我的SparkConf是SparkConf().setMaster("spark://ec2-[ip].compute-1.amazonaws.com:7077").setAppName("Simple Application")(我没有使用方法setJars,不确定我是否需要它)。

我使用命令sbt package打包jar。我用来运行应用程序的命令是./bin/spark-submit --master spark://ec2-[ip].compute-1.amazonaws.com:7077 --class "[classname]" target/scala-2.10/[jarname]_2.10-1.0.jar

在运行时,我收到此错误:

  

java.lang.RuntimeException:无法加载数据源的类:   com.databricks.spark.csv

问题是什么?

6 个答案:

答案 0 :(得分:3)

相应地使用依赖项。例如:

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.10</artifactId>
    <version>1.6.1</version>
</dependency>

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

<dependency>
    <groupId>com.databricks</groupId>
    <artifactId>spark-csv_2.10</artifactId>
    <version>1.4.0</version>
</dependency>

答案 1 :(得分:1)

包括选项: - package com.databricks:spark-csv_2.10:1.2.0但是在--class之后和目标/

之前执行

答案 2 :(得分:0)

添加--jars选项并从存储库(例如search.maven.org

)下载以下jar
--jars commons-csv-1.1.jar,spark-csv-csv.jar,univocity-parsers-1.5.1.jar \

使用--packages选项,因为claudiaann1建议也可以在没有代理的情况下访问互联网。如果您需要通过代理,它将无法正常工作。

答案 3 :(得分:0)

以下是有效的示例: spark-submit --jars文件:/root/Downloads/jars/spark-csv_2.10-1.0.3.jar,file:/ root / Downloads / jars / com mons-csv-1.2.jar,file:/root/Downloads/jars/spark-sql_2.11-1.4.1.jar --class&#34; SampleApp&#34; --master local [2] target / scala-2.11 / my-proj_2.11-1.0.jar

答案 4 :(得分:0)

使用以下命令,其工作:

spark-submit --class ur_class_name --master local[*] --packages com.databricks:spark-csv_2.10:1.4.0 project_path/target/scala-2.10/jar_name.jar

答案 5 :(得分:-2)

您是否尝试过使用spark-submit的--packages参数?我遇到了这个问题,火花不尊重列为libraryDependencies的依赖项。

试试这个:

DROP EVENT `dates update` ;

CREATE DEFINER =  `your_user_name`@`your_host_name` 
EVENT `dates update` 
ON SCHEDULE EVERY1 WEEK STARTS '2015-07-29 03:00:00' 
ON COMPLETION NOT PRESERVE ENABLE DO 


UPDATE movement a
INNER JOIN orders b
ON a.payee_id = b.payee_id
SET a.initial_date = b.first_ship_date
WHERE a.initial_date IS NULL;

_

来自Spark Docs:

  

用户还可以通过使用--packages提供以逗号分隔的maven坐标列表来包含任何其他依赖项。使用此命令时将处理所有传递依赖项。

https://spark.apache.org/docs/latest/submitting-applications.html#advanced-dependency-management