Apache spark 动态加载com.databricks:spark csv spark包到我的应用程序
我需要将com.csv spark包动态加载到我的应用程序中,使用spark submit,它可以正常工作Apache spark 动态加载com.databricks:spark csv spark包到我的应用程序,apache-spark,spark-csv,Apache Spark,Spark Csv,我需要将com.csv spark包动态加载到我的应用程序中,使用spark submit,它可以正常工作 spark-submit --class "DataLoaderApp" --master yarn --deploy-mode client --packages com.databricks:spark-csv_2.11:1.4.0 target/scala-2.10/ra-etl_2.10-1.0.0.jar LOAD GGS
spark-submit --class "DataLoaderApp" --master yarn
--deploy-mode client
--packages com.databricks:spark-csv_2.11:1.4.0 target/scala-2.10/ra-etl_2.10-1.0.0.jar LOAD GGSN /data-sources/DXE_Ver/1_4/MTN_Abuja/GGSN/20160221/GGSN_0_20160221074731.dat
但是当我使用
spark-submit --class "DataLoaderApp" --master yarn
--deploy-mode client
target/scala-2.10/ra-etl_2.10-1.0.0.jar LOAD GGSN /data-sources/DXE_Ver/1_4/MTN_Abuja/GGSN/20160221/GGSN_0_20160221074731.dat
对于下面的配置,它不工作
val conf = new SparkConf()
.setAppName("Data Loader Application")
.set("spark.jar.packages","com.databricks:spark-csv_2.11:1.4.0")
通过
SparkConf
使用sparkcsv
。不过,如果您的目的是省去每次调用spark submit
时键入--packages
参数的麻烦,您可以在spark defaults.conf
文件(通常位于$spark_HOME/conf
目录)中添加相关依赖项,如下所示:
spark-csv_2.11-1.4.0.jar及其依赖项、commons-csv-1.1.jar
和univocity-parsers-1.5.1.jar
的路径。如果您已经使用过spark csv
一次,则这些信息应该已经存在于您的系统中;在我的情况下(用户ctsats
),这些路径是:
/home/ctsats/.ivy2/cache/com.databricks/spark-csv_2.11/jars/spark-csv_2.11-1.4.0.jar
/home/ctsats/.ivy2/cache/org.apache.commons/commons-csv/jars/commons-csv-1.1.jar
/home/ctsats/.ivy2/cache/com.univocity/univocity-parsers/jars/univocity-parsers-1.5.1.jar
spark defaults.conf
文件(在$spark\u HOME/conf
中–如果不存在,则创建该文件),并使用参数spark.driver.extraClassPath
添加上述路径,即如果路径与上述路径类似,则添加以下行:
spark.driver.extraClassPath /home/ctsats/.ivy2/cache/com.databricks/spark-csv_2.11/jars/spark-csv_2.11-1.4.0.jar:/home/ctsats/.ivy2/cache/org.apache.commons/commons-csv/jars/commons-csv-1.1.jar:/home/ctsats/.ivy2/cache/com.univocity/univocity-parsers/jars/univocity-parsers-1.5.1.jar
现在,每当您调用
spark submit
或spark shell
时,spark csv
软件包将自动加载。当您链接到spark-csv_2.11
时,请确认您正在使用Scala 2.10?另外,您使用的是哪种Spark版本?是的,我使用的是Spark 1.6