Sparks 发布其运行时的方式已从 V1 更改为 V2。
- 在 V2 中,默认情况下,您在下面有多个JAR
$SPARK_HOME/jars
- 在 V1 中,默认情况下,只有一个包含所有依赖项的
海量文件。
spark-assembly*.jar
$SPARK_HOME/lib
我相信您可以更改默认行为,但这需要您自己重新编译 Spark...
而且,spark-csv
具体来说:
- 在 V2 中,SparkSQL 原生支持 CSV 文件格式
- 在 V1 中,您必须从 Spark-Packages.org 以及 Commons.Apache.org 下载(对于Scala 2.10
spark-csv
)并将两个 JAR 添加到您的 CLASSPATH (使用命令行,或者如果命令行不起作用,则使用 prop + 指令出于某种原因)...而且语法也更麻烦commons-csv
--jars
spark.driver.extraClassPath
sc.addJar()
摘自
$SPARK_HOME/bin/spark-class
Spark 2.1.x 的原版(大大简化)
# 查找 Spark jar
SPARK_JARS_DIR="${SPARK_HOME}/jars"
LAUNCH_CLASSPATH="$SPARK_JARS_DIR/*"
从 Spark 1.6.x 开始
# 找到组装jar
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"