gpt4 book ai didi

pyspark - 如何在 EMR 笔记本中安装 .jar 依赖项?

转载 作者:行者123 更新时间:2023-12-03 20:58:54 26 4
gpt4 key购买 nike

我正在运行 EMR 笔记本(平台:AWS,笔记本:jupyter,内核:PySpark)。
我需要安装一个 .jar 依赖项( sparkdl )来处理一些图像。

使用 Spark-submit,我可以使用:

spark-submit --packages databricks:spark-deep-learning:1.5.0-spark2.4-s_2.11

使用本地笔记本,我可以使用:
spark = (SparkSession
.config('spark.jars.packages', 'databricks:spark-deep-learning:1.5.0-spark2.4-s_2.11')
.getOrCreate()
)

但是如何在 EMR 笔记本上做同样的事情呢?
  • 我可以使用 bootstrap 将其安装在每个节点上。但我不知道如何继续...
  • 我可以配置 SparkSession 以使用依赖项。但是笔记本似乎无法访问存储库......而且我不知道让它加载复制到 S3 存储桶上的文件的语法......

  • 编辑:
    我试过
    %%configure -f
    { "conf":{
    "spark.jars": "s3://p8-fruits/libs/spark-deep-learning-1.5.0-spark2.4-s_2.11.jar"
    }
    }

    这没有抛出任何错误,但我仍然无法使用它。当我尝试时 import sparkdl , 我收到了 ModuleNotFoundError: No module named 'sparkdl' .

    非常感谢您的帮助 !

    最佳答案

    首先,您可以在 spark.jars.packages 中声明依赖项configure 中的指令魔法:

    %%configure
    {
    "conf": {
    "spark.jars.packages": "databricks:spark-deep-learning:1.5.0-spark2.4-s_2.11"
    }
    }
    这对于常见情况应该足够了。
    如果您的 EMR 集群无法访问 jar 存储库,您可能需要手动将 jar 放入 HDFS(假设您的 jar 在 /home/hadoop/libs/ 中)
    例如
    hdfs dfs -put /home/hadoop/libs/spark-deep-learning-1.5.0-spark2.4-s_2.11.jar /libs/spark-deep-learning-1.5.0-spark2.4-s_2.11.jar
    并在 jars 内传递指示:
    %%configure -f
    {
    "jars": ["/libs/spark-deep-learning-1.5.0-spark2.4-s_2.11.jar"]
    }

    关于pyspark - 如何在 EMR 笔记本中安装 .jar 依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59372693/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com