2016-12-17 2 views
1

Ich habe eine eigenständige Anwendung in SBT. Meine Daten werden auf HDFS (dem Hadoop-Dateisystem) gespeichert. Wie kann ich eine JAR-Datei bekommen, um meine Arbeit auf einem anderen Rechner zu starten.Projekt-Jar in Scala erstellen

Das Verzeichnis meines Projekts ist die folgende:

/MyProject 
    /target 
     /scala-2.11 
       /MyApp_2.11-1.0.jar 
    /src 
     /main 
      /scala 

Antwort

3

Wenn Sie dann sbt package laufen keine Abhängigkeiten haben ein Glas werden alle Ihren Code erstellen.

Sie können dann Ihren Spark-App als laufen:

$SPARK_HOME/bin/spark-submit --name "an-app" my-app.jar 

Wenn Ihr Projekt externe Abhängigkeiten hat (anders als Funke selbst, wenn es nur Spark oder irgendetwas davon ist Abhängigkeiten, dann der obige Ansatz funktioniert immer noch), dann haben Sie zwei Optionen:

1) Verwenden Sie das sbt assembly Plugin, um ein Uper-Jar mit Ihrem gesamten Klassenpfad zu erstellen. Wenn Sie sbt assembly ausführen, wird ein weiteres Glas erstellt, das Sie auf die gleiche Weise wie zuvor verwenden können.

2) Wenn Sie nur sehr wenige einfache Abhängigkeiten haben (sagen Sie nur joda-time), dann können Sie sie einfach in Ihr Spark Submit Skript einfügen.

+0

I hav Die zwei Abhängigkeiten für spark-core und spark-mllib, laufe ich durch: spark-submit --klasse "an-app" --master local [4] target/scala-2.11/myproject_2.11-1.0.jar – sirine

+0

Ich will um meine JAR-Datei zu erhalten oder sie auf meine lokale CD zu kopieren. – sirine

+0

Sie haben gerade gesagt, wo das Glas ist. Warum hast du Probleme beim Kopieren? Ich bin verwirrt ... – marios

1

Im Gegensatz zu Java muss in Scala der Paketname der Datei nicht mit dem Verzeichnisnamen übereinstimmen. Für einfache Tests wie diese können Sie diese Datei in das Stammverzeichnis Ihres SBT-Projekts einfügen, wenn Sie dies bevorzugen.

Aus dem Stammverzeichnis des Projekts, können Sie das Projekt kompilieren:

sbt Führen Sie das Projekt $ kompilieren:

$ Paket das Projekt SBT laufen:

$ sbt Paket

Hier

Link zu verstehen: http://alvinalexander.com/scala/sbt-how-to-compile-run-package-scala-project

Verwandte Themen