【问题标题】:AWS EMR Spark 1.0AWS EMR Spark 1.0
【发布时间】:2016-04-06 13:46:33
【问题描述】:

有没有办法强制 Amazon EMR 使用 Spark 1.0.1?当前可选择的版本停止在 1.4.1。

我在 MLlib 中使用交替最小二乘实现,自 v1.1 以来,他们已经实现了加权正则化,出于特定原因(研究)我不想要这个实现,而是我试图访问非加权正则化他们在 v1.0 中实现的版本。

如果有帮助,我正在使用带有 Scala 的 Zepplin 笔记本。

【问题讨论】:

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


    【解决方案1】:

    是否需要使用 Zeppelin?因为如果是这样,那可能会非常困难。 Zeppelin 是针对特定版本的 Spark 编译的,因此降级 jar 很可能会失败。

    否则,如果您可以不使用 Zeppelin 而是使用 EMR Step API,那么您可以通过安装 spark-assembly 1.0.1 的引导操作启动 EMR 集群。我说它可能可以工作,因为不能保证当前的 EMR 版本与 2 年前的 Spark 版本兼容。

    创建集群:

    使用 EMR Step API 运行 spark:

    • 将已编译的 jar 上传到 s3,然后针对该集群提交一个步骤
    • 集群 ID:集群的 ID(例如 j-XXXXXXXX)
    • 集群区域。创建 EMR 集群的位置。前 us-west-2
    • 您的 spark 主类:这是您放置 ml 管道代码的位置。
    • 您的 jar:您必须将带有代码的 jar 上传到 S3,以便您的集群可以下载它
    • arg1, arg2:主参数(可选)

    aws emr add-steps --cluster-id --steps \ Name=SparkPi,Jar=s3://.elasticmapreduce/libs/script-runner/script-runner.jar,Args=[/home/hadoop/spark/bin/spark-submit,--deploy-mode,cluster,- -master,yarn,--class,com.your.spark.class.MainApp,s3://>/your.jar,arg1,arg2],ActionOnFailure=CONTINUE

    (取自官方 github 仓库https://github.com/awslabs/emr-bootstrap-actions/blob/master/spark/examples/spark-submit-via-step.md

    如果失败,请安装 Hadoop 并查看 https://spark.apache.org/docs/1.0.1/running-on-yarn.html

    或者,如果您的数据很小,您也可以在笔记本电脑上本地运行 1.0.1。

    祝你好运。

    【讨论】:

    • 非常感谢!如果这意味着我可以使用 1.0.1,我可以继续使用 Zepplin,我将使用 Spark Shell。
    【解决方案2】:

    Amazon EMR 提供受支持的软件包版本列表,您可以通过选择下拉菜单进行安装。没有什么能阻止您使用bootstrap action 安装其他自定义软件。当 EMR 仅支持 Java 7 时,我有一些安装 Java 8 的经验。这有点痛苦,但完全有可能。

    【讨论】:

      【解决方案3】:

      EMR 支持 Spark 1.6.0。看看他们最新发布的 emr-4.4.0:http://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/emr-whatsnew.html

      【讨论】:

      • 是的,我明白了,但我想专门使用 Spark 1.0.1 而不是 1.6
      猜你喜欢
      • 2018-04-26
      • 2023-04-04
      • 2015-10-06
      • 2018-07-07
      • 2017-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多