我的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
问题是什么?
答案 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
--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