【问题标题】:How should you run a jupyter notebook on Spark EMR Cluster如何在 Spark EMR 集群上运行 jupyter notebook
【发布时间】:2020-10-31 05:37:43
【问题描述】:

编辑: 这个问题是关于如何为 python/jupyetr-notebook 文件定义参数,以便在 EMR Amazon Spark 集群上进行 spark-submit...

之前: 我很抱歉我的愚蠢问题,但我是个新手,我在这个问题上停留了几天,而且似乎网络上没有好的指南。我正在关注 Udacity Spark 课程。我在 Amazon AWS (EMR) 上创建了 Spark Yarn 集群,有 1 个主节点和 3 个从节点。我在此基础上创建了一个 jupyter 笔记本(并且能够使用 PySpark 内核运行并查看输出)。我已经使用 PuttY 连接到集群(我猜是主节点),我已经将 jupyter notebook 下载到了本地机器上。但是,当我尝试运行它时,我总是遇到许多类型的错误。目前,我运行这些命令:

/usr/bin/spark-submit --class "org.apache.spark.examples.SparkPi" --master yarn --deploy-mode cluster ./my-test-emr.ipynb 1>output-my-test-emr.log 2>error-my-test-emr.log
aws s3 cp ./error-my-test-emr.log s3://aws-emr-resources-750982214328-us-east-2/notebooks/e-8TP55R4K894W1BFRTNHUGJ90N/error-my-test-emr.log

我将错误文件和 jupyter notebook 都公开了,所以你可以看到它们(link)。我真的怀疑 --class 参数(我几乎猜到了,我已经阅读了它作为我的麻烦的一个选项,但没有提供进一步的信息),谁能给我解释它是什么?为什么我们需要它?我怎样才能找出/设置真正的价值?如果有人愿意,那么关于 JAR 的进一步解释会很有帮助——我为什么要把我的 python 程序变成 java?我该怎么做?似乎这里已经提出了很多关于它的问题,但没有人从根本上解释它......

提前致谢

【问题讨论】:

    标签: amazon-web-services apache-spark amazon-s3 amazon-emr spark-submit


    【解决方案1】:

    当您指的是本地时,您从哪里下载了哪个版本的 Spark?

    通常,当我在笔记本电脑中配置 Spark 时,我只需运行以下命令即可运行 Spark Pi 示例

    spark-submit --class org.apache.spark.examples.SparkPi --master yarn \
    --deploy-mode client SPARK_HOME/lib/spark-examples.jar 10
    

    其中 SPARK_HOME 是您从 Spark website 中提取压缩包的文件夹。

    【讨论】:

    • 也许我用错了术语...当我的意思是在本地时,我的意思是在使用 Putty 连接到 hadoop@Master 公共 DNS 之后
    【解决方案2】:
    1. 将您的笔记本导出为.py 文件。
    2. 您不需要为 python 脚本指定--class。
    3. 您无需将 python 代码转换为 java/scala。
    4. 一旦你有了 .py 文件,加上一些名字,比如 test.py,这将起作用
    spark-submit --master yarn --deploy-mode cluster ./test.py
    
    

    【讨论】:

    • 看起来你在正确的道路上,但是,在运行命令之后:/usr/bin/spark-submit --master yarn --deploy-mode cluster ./test-emr。 py 1>output-my-test-emr4.log 2>error-my-test-emr4.log 我遇到这个日志:s3://aws-emr-resources-750982214328-us-east-2/notebooks/e- 8TP55R4K894W1BFRTNHUGJ90N/error-my-test-emr4.log 我仍然收到一条丑陋的错误消息...您知道问题的根源是什么吗?
    • 我无权访问该日志文件
    • 我仍然收到access denied
    • 你介意把它放在谷歌驱动器中分享吗?
    • 即使我添加了它,它仍然给了我很多错误。但最后我设法让它以某种方式抛出(虽然它在 jupyter 笔记本上工作).. 我认为它发生是因为我使用了 PySpark Kernel 正如我之前提到的那样。无论如何,我会编辑我的问题,我从心底里向你表示最深切的感谢
    猜你喜欢
    • 1970-01-01
    • 2018-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-08
    • 2018-04-22
    • 2020-08-10
    相关资源
    最近更新 更多