【问题标题】:Adding external jars in EMR Notebooks在 EMR Notebooks 中添加外部 jar
【发布时间】:2019-12-19 18:49:29
【问题描述】:

我使用 EMR Notebook 连接到 EMR 集群。内核是 Spark,语言是 Scala。我需要一些位于 S3 存储桶中的罐子。 如何添加罐子?

如果是“spark-shell”,这很容易:

spark-shell --jars "s3://some/path/file.jar, s3://some/path/faile2.jar"

我也可以在 scala 控制台中做

:需要 s3://some/path/file.jar

【问题讨论】:

  • 你用的是什么内核?
  • 内核是 Spark,语言是 Scala
  • 你试过 AddJar s3://some/path/file.jar 吗?
  • 是的,收到错误:声明不完整
  • 有没有办法添加maven依赖?

标签: scala apache-spark jupyter-notebook amazon-emr


【解决方案1】:

把它放在你的第一段:

%%configure -f
{
    "conf": {
        "spark.jars": "s3://YOUR_BUCKET/YOUR_DRIVER.jar"
    }
}

【讨论】:

  • 这对我有用。记住在 scala 命令之前运行它。
【解决方案2】:

启动笔记本后,您可以在单元格中执行此操作:

%%configure -f
{
"conf": {"spark.jars.packages": "com.jsuereth:scala-arm_2.11:2.0,ml.combust.bundle:bundle-ml_2.11:0.13.0,com.databricks:dbutils-api_2.11:0.0.3"},

"jars": [
        "//path to external downloaded jars"
    ],

}

【讨论】:

  • 我以这种方式尝试过 %%configure -f { "conf": {"spark.jars.packages":"//外部下载 jars 的路径"} } 和这个 %%configure - f { "conf": {"jars":"//外部下载 jars 的路径"} }
  • 我是否应该完全使用这一行 "conf": {"spark.jars.packages": "com.jsuereth:scala-arm_2.11:2.0,ml.combust.bundle:bundle-ml_2 .11:0.13.0,com.databricks:dbutils-api_2.11:0.0.3"}, ?
  • 这些只是我笔记本所需的样品罐。你需要用你需要的罐子替换罐子
  • 我应该使用 "spark.jars.packages" : "" 还是 "jars": [""] ?
  • 我以前用过这个。你需要用你正在使用的当前版本来检查这个
猜你喜欢
  • 2021-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-24
  • 1970-01-01
  • 2011-09-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多