您应该如何在Spark EMR集群上运行jupyter笔记本电脑



编辑:这个问题是关于如何为python/jupyeter笔记本文件定义参数,以便在EMR Amazon spark Cluster上提交spark。。。

之前:我为我的愚蠢问题感到抱歉,但我是个新手,我已经在这个问题上呆了几天了,而且网上似乎没有好的指南。我正在学习Udacity Spark课程。我在亚马逊AWS(EMR(上创建了Spark Yarn集群,有一个主集群和三个从集群。我在上面创建了一个jupyter笔记本(并且能够使用PySpark内核运行并查看输出(。我已经使用PuttY连接到集群(我想是到主节点(,我已经将jupyter笔记本下载到本地机器。然而,当我尝试运行它时,我总是会遇到许多类型的错误。目前,我运行以下命令:

/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笔记本都公开了,这样你就可以看到它们(链接(。我真的怀疑--class参数(我几乎猜到了,我读过它作为解决问题的选项,但没有提供进一步的信息(,有人能给我解释一下它是什么吗?我们为什么需要它?我如何才能找到/设置真实值?如果有人愿意,那么对JAR的进一步解释会很有帮助——为什么我要把我的python程序变成java?我该怎么做?这里似乎有人问了很多关于它的问题,但没有人从根源上解释它。。。

提前感谢

当你指的是本地时,你下载了什么版本的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网站提取tarball的文件夹。

  1. 将您的笔记本导出为.py文件
  2. 您不需要为python脚本指定--class
  3. 您不需要将python代码转换为java/scala
  4. 一旦你有了.py文件,有了一些名称,比如test.py,这就可以了
spark-submit --master yarn --deploy-mode cluster ./test.py

最新更新