Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine interaktive Apache Spark-Shell bietet eine REPL-Umgebung (Read-Execute-Print-Loop, „Lesen-Ausführen-Anzeigen“-Schleife), um Spark-Befehle nacheinander auszuführen und die Ergebnisse anzuzeigen. Dieser Vorgang ist nützlich für Entwicklung und Debuggen. Spark bietet für jede unterstützte Sprache eine Shell: Scala, Python und R.
Ausführen einer Apache Spark-Shell
Verwenden Sie einen ssh-Befehl zum Herstellen der Verbindung mit dem Cluster. Bearbeiten Sie den folgenden Befehl, indem Sie CLUSTERNAME durch den Namen Ihres Clusters ersetzen, und geben Sie den Befehl dann ein:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.netSpark umfasst Shells für Scala (spark-shell) und Python (pyspark). Geben Sie in der SSH-Sitzung einen der folgenden Befehle ein:
spark-shell # Optional configurations # spark-shell --num-executors 4 --executor-memory 4g --executor-cores 2 --driver-memory 8g --driver-cores 4pyspark # Optional configurations # pyspark --num-executors 4 --executor-memory 4g --executor-cores 2 --driver-memory 8g --driver-cores 4Wenn Sie beabsichtigen, eine optionale Konfiguration zu verwenden, sollten Sie zunächst die Informationen zur OutOfMemoryError-Ausnahme für Apache Spark lesen.
Einige grundlegende Beispielbefehle. Wählen Sie die relevante Sprache aus:
val textFile = spark.read.textFile("/example/data/fruits.txt") textFile.first() textFile.filter(line => line.contains("apple")).show()textFile = spark.read.text("/example/data/fruits.txt") textFile.first() textFile.filter(textFile.value.contains("apple")).show()Fragen Sie eine CSV-Datei ab. Beachten Sie, dass die nachstehende Sprache für
spark-shellundpysparkfunktioniert.spark.read.csv("/HdiSamples/HdiSamples/SensorSampleData/building/building.csv").show()Abfragen einer CSV-Datei und Speichern der Ergebnisse in einer Variable:
var data = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/HdiSamples/HdiSamples/SensorSampleData/building/building.csv")data = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/HdiSamples/HdiSamples/SensorSampleData/building/building.csv")Anzeigen der Ergebnisse:
data.show() data.select($"BuildingID", $"Country").show(10)data.show() data.select("BuildingID", "Country").show(10)Beenden
:qexit()
SparkSession- und SparkContext-Instanzen
Beim Ausführen der Spark-Shell werden standardmäßig automatisch Instanzen von SparkSession und SparkContext für Sie erzeugt.
Um auf die SparkSession-Instanz zuzugreifen, geben Sie spark ein. Um auf die SparkContext-Instanz zuzugreifen, geben Sie sc ein.
Wichtige Shellparameter
Der Spark-Shell-Befehl (spark-shell oder pyspark) unterstützt viele Befehlszeilenparameter. Um eine vollständige Liste der Parameter anzuzeigen, starten Sie die Spark-Shell mit dem Schalter --help. Einige dieser Parameter gelten möglicherweise nur für spark-submit, den die Spark-Shell umschließt.
| switch | description | Beispiel |
|---|---|---|
--master MASTER_URL |
Gibt die Master-URL an. In HDInsight ist dieser Wert immer yarn. |
--master yarn |
--jars JAR_LIST |
Durch Trennzeichen getrennte Liste der lokalen JAR-Dateien zum Einschließen der Treiber- und Executorklassenpfade. In HDInsight besteht diese Liste aus Pfaden zum Standarddateisystem in Azure Storage oder Data Lake Storage. | --jars /path/to/examples.jar |
--packages MAVEN_COORDS |
Durch Trennzeichen getrennte Liste der Maven-Koordinaten von JAR-Dateien zum Einschließen der Treiber- und Executorklassenpfade. Durchsucht zuerst das lokale, anschließend das zentrale Maven-Repository und dann etwaige zusätzliche Remote-Repositorys, die mit --repositories angegeben werden. Das Format für die Koordinaten ist groupId:artifactId:version. |
--packages "com.microsoft.azure:azure-eventhubs:0.14.0" |
--py-files LIST |
Nur für Python eine durch Trennzeichen getrennte Liste der im PYTHONPATH zu platzierenden .zip-, .egg- oder .py-Dateien. |
--pyfiles "samples.py" |
Nächste Schritte
- Eine Übersicht finden Sie unter Einführung in Apache Spark in Azure HDInsight.
- Informationen zum Arbeiten mit Spark-Clustern und SparkSQL finden Sie unter Erstellen eines Apache Spark-Clusters in Azure HDInsight.
- Informationen zum Schreiben von Anwendungen, die Streamingdaten mit Spark verarbeiten, finden Sie unter Übersicht über strukturierte Apache Spark-Streamings.