我在哪里可以找到 Spark 1.6 中的 jars 文件夹?

sud*_*hix 2 jar apache-spark apache-spark-1.6

从Spark 下载页面,如果我下载v2.0.1的tar 文件,我会看到它包含一些我认为包含在我的应用程序中有用的 jar。

如果我下载v1.6.2的tar 文件,我在那里找不到 jars 文件夹。是否有我应该从该站点使用的替代包装类型?我目前正在选择默认值(为 Hadoop 2.6 预构建)。或者,我在哪里可以找到那些 Spark 罐子 - 我应该从http://spark-packages.org单独获取每个罐子吗?

这是我想使用的一组指示性罐子:

  • hadoop-common
  • 火花芯
  • 火花-csv
  • spark-sql
  • 单义解析器
  • 火花催化剂
  • json4s-核心

Sam*_*ter 5

Sparks 发布其运行时的方式已从 V1 更改为 V2。

  • 在 V2 中,默认情况下,您有多个JAR $SPARK_HOME/jars
  • 在V1,默认情况下,只是有一个 巨大的spark-assembly*.jar下$SPARK_HOME/lib包含所有的依赖关系。

我相信您可以更改默认行为,但这需要您自己重新编译 Spark...

而且,spark-csv特别是关于:

  • 在 V2 中,SparkSQL 原生支持 CSV 文件格式
  • 在V1,你必须下载spark-csv从(斯卡拉2.10)Spark-Packages.org加上commons-csv从Commons.Apache.org和JAR文件都添加到您的CLASSPATH
    (带--jars命令行,或用道具spark.driver.extraClassPath+指令sc.addJar()如果在命令行不起作用出于某种原因)
    ……而且语法也更麻烦


摘自$SPARK_HOME/bin/spark-classSpark 2.1.x 的原版(大大简化)

# 找到 Spark罐子

  SPARK_JARS_DIR="${SPARK_HOME}/jars"
  LAUNCH_CLASSPATH="$SPARK_JARS_DIR/*"
Run Code Online (Sandbox Code Playgroud)

从 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"
Run Code Online (Sandbox Code Playgroud)