2016-03-28 11 views
0

Gibt es eine Möglichkeit, Amazon EMR zu zwingen, Spark 1.0.1 zu verwenden? Die derzeit auswählbaren Versionen enden bei 1.4.1.AWS EMR Spark 1.0

Ich verwende die Alternating Least Squares-Implementierung in MLlib, und seit Version 1.1 haben sie eine gewichtete Regularisierung implementiert und aus bestimmten Gründen (Forschungsstudie) möchte ich diese Implementierung nicht, sondern ich versuche auf das Nicht-Gewicht zuzugreifen Regularisierungsversion, die sie in Version 1.0 implementiert hatten.

Ich benutze Zepplin Notebooks mit Scala, wenn das hilft.

Antwort

1

mit Zeppelin arbeitet eine Anforderung? Wenn ja, könnte es sehr schwierig sein. Zeppelin wird gegen eine bestimmte Version von Spark kompiliert, so dass ein Downgrade des Jar wahrscheinlich fehlschlägt.

Wenn Sie ansonsten keinen Zeppelin verwenden und stattdessen die EMR Step-API verwenden, können Sie möglicherweise einen EMR-Cluster mit einer Bootstrap-Aktion hochfahren, die funkenassembly 1.0.1 installiert. Ich sagte es könnte arbeiten, denn es gibt keine Garantie, dass die aktuelle EMR-Version mit einer 2 Jahre alten Version von Spark kompatibel ist.

die Cluster zu erstellen:

  • einen Cluster aus der Benutzeroberfläche erstellen, stellen Sie sicher, dass Funken von dem zusätzlichen Software-Menü
  • Fügen Sie eine benutzerdefinierte Bootstrap-Aktion deaktivieren und das Skript bei s3://support.elasticmapreduce/spark/install-spark mit Argumenten -v 1.0.1 verwenden (Siehe https://github.com/awslabs/emr-bootstrap-actions/tree/master/spark für Konfigurationsoptionen)

Funken So führen Sie den EMR Schritt API:

012 die ID des Clusters (ex j-XXXXXXXX)
  • Region des Clusters:
    • kompilierte jar hochladen, bis s3 dann einen Schritt gegen diesen Cluster
    • Cluster-ID einreichen. Wo haben Sie Ihren EMR-Cluster erstellt? Ex us-west-2
    • Ihre Spark-Hauptklasse: Hier stellen Sie Ihren ml-Pipeline-Code ein.
    • Ihr Glas: Sie das Glas mit Ihrem Code S3 laden haben, so können die Cluster es
    • arg1, arg2 herunterladen: Argumente zu Ihrem Haupt (optional)

    aws emr Add-Schritte --cluster-id --steps \ Name = SparkPi, Jar = s3: //.elasticmapreduce/libs/script-runner/script-runner.jar,Args= [/ home/hadoop/spark/bin/spark-submit , - Bereitstellungsmodus, Cluster, - Master, Garn, - Klasse, com.your.spark.class.MainApp, s3: //>/your.Glas, arg1, arg2], ActionOnFailure = WEITER

    (von der offiziellen GitHub Repo Genommen am https://github.com/awslabs/emr-bootstrap-actions/blob/master/spark/examples/spark-submit-via-step.md)

    Auch wenn dies fehlschlägt, Hadoop installieren und

    https://spark.apache.org/docs/1.0.1/running-on-yarn.html Besuche Oder Sie könnten auch laufen 1.0.1 lokal auf Ihrem Laptop, wenn Ihre Daten klein sind.

    Viel Glück.

  • +0

    Vielen Dank! Ich kann mit Zeppelin weitermachen, wenn es bedeutet, dass ich 1.0.1 verwenden kann. Ich werde mit der Spark Shell fertig werden. – Benirving92

    0

    Amazon EMR bietet eine Liste der unterstützten Versionen von Softwarepaketen, die Sie installieren können, indem Sie ein Dropdown-Menü auswählen. Nichts hält Sie davon ab, zusätzliche benutzerdefinierte Software mit einem bootstrap action zu installieren. Ich hatte etwas Erfahrung, Java 8 zu installieren, als EMR nur Java 7 unterstützte. Es ist ein bisschen schmerzhaft, aber total möglich.