Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 动态加载com.databricks:spark csv spark包到我的应用程序_Apache Spark_Spark Csv - Fatal编程技术网

Apache spark 动态加载com.databricks:spark csv spark包到我的应用程序

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

我需要将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 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