【问题标题】:Where can I find the jars folder in Spark 1.6?我在哪里可以找到 Spark 1.6 中的 jars 文件夹?
【发布时间】:2017-03-08 02:15:00
【问题描述】:

Spark downloads page,如果我下载tar file for v2.0.1,我发现它包含一些我认为可以包含在我的应用程序中的罐子。

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

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

  • hadoop-common
  • 火花芯
  • spark-csv
  • spark-sql
  • univocity 解析器
  • 火花催化剂
  • json4s-core

【问题讨论】:

  • 在Spark 2之前,默认情况下,$SPARK_HOME/lib下只有一个spark-assembly*.jar的怪物,包含所有的依赖。如果你想要单独的 JAR,你必须重新编译 Spark。玩得开心!
  • 另外spark-csv是一个单独的下载(在V2之前没有嵌入到Spark代码库中)并且需要Apache commons-csv
  • 谢谢!愿意将此添加为答案,以便我可以关闭它吗?

标签: apache-spark jar apache-spark-1.6


【解决方案1】:

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 下载 spark-csv(对于 Scala 2.10)加上从 Commons.Apache.org 下载的 commons-csv 并将两个 JAR 添加到您的 CLASSPATH
    (在命令行上使用 --jars,或者使用 prop spark.driver.extraClassPath + 指令 sc.addJar() 如果命令行由于某种原因不起作用)
    ...而且语法也更麻烦


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

# 查找 Spark jars

  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"

【讨论】:

  • 在 spark 2.2.0 中将 jars 放入 $SPARK_HOME/jars 似乎可以通过终端将 jars 提供给 spark-shellpyspark,但是当我提交 spark 应用程序时,这些 jars 不会被拾取,我得到 ClassNotFound excpt,在构建我的 spark 上下文时是否需要指定其他任何内容?
  • "submit a spark app" >> 这意味着spark-submit shell 调用spark-class 等等?否则,你将不得不对整个混乱进行逆向工程——祝你好运。
  • 如果有人从 Google 搜索到 AWS EMR 中的 jars 文件夹,在 spark 2.x 中它位于 /usr/lib/spark/jars/ 中。查看来自 AWS 的 this tutorial 以查看更多信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-13
  • 2011-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多