Sparks将其运行时间的方式从V1更改为V2。
- 在V2,默认情况下,你必须多个下
$SPARK_HOME/jars
- 在V1的JAR文件,默认情况下,只是有一个 大规模
spark-assembly*.jar
$SPARK_HOME/lib
根据该 包含了所有的依赖关系。
我相信你可以改变默认的行为,但这需要重新编译你自己星火...
而且还约spark-csv
具体为:
- 在V2,CSV文件格式本身是由SparkSQL支持的
- 在V1中,您必须从Spark-Packages.org加
commons-csv
从Commons.Apache.org下载spark-csv
(for Scala 2.10),并将两个JAR添加到您的CLASSP ATH
(与--jars
命令行,或用道具spark.driver.extraClassPath
+指令sc.addJar()
如果在命令行中没有出于某种原因)
...和语法是比较烦琐,太
从摘录香草
$SPARK_HOME/bin/spark-class
如火花的2.1.x(大大简化)
#查找火花的罐子
SPARK_JARS_DIR="${SPARK_HOME}/jars"
LAUNCH_CLASSPATH="$SPARK_JARS_DIR/*"
而且从Spark 1.6开始。X
#查找组装罐子
ASSEMBLY_DIR="${SPARK_HOME}/lib"
ASSEMBLY_JARS="$(ls -1 "$ASSEMBLY_DIR" | grep "^spark-assembly.*hadoop.*\.jar$" || true)"
SPARK_ASSEMBLY_JAR="${ASSEMBLY_DIR}/${ASSEMBLY_JARS}"
LAUNCH_CLASSPATH="$SPARK_ASSEMBLY_JAR"
星火2之前,默认情况下,有一个'火花组装的只是一个怪物* .jar'下'$ SPARK_HOME/lib'包含所有的依赖关系。如果你想要单独的JAR,你必须重新编译Spark。玩的开心! –
另外'spark-csv'是一个单独的下载*(没有嵌入到V2之前的Spark代码库中)并且需要Apache'commons-csv'。 –
谢谢!谨慎添加这个答案,以便我可以关闭它? – sudheeshix