Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Interaktywna powłoka Apache Spark Shell udostępnia środowisko REPL (read-execute-print loop), które pozwala na uruchamianie poleceń Spark jeden po drugim oraz wyświetlanie wyników. Ten proces jest przydatny do programowania i debugowania. Platforma Spark udostępnia jedną powłokę dla każdego z obsługiwanych języków: Scala, Python i R.
Uruchom powłokę Apache Spark
Użyj polecenia ssh, aby nawiązać połączenie z klastrem. Zmodyfikuj poniższe polecenie, zastępując ciąg CLUSTERNAME nazwą klastra, a następnie wprowadź polecenie:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.netPlatforma Spark udostępnia powłoki dla języka Scala (spark-shell) i python (pyspark). W sesji SSH wprowadź jedno z następujących poleceń:
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 4Jeśli zamierzasz użyć dowolnej opcjonalnej konfiguracji, najpierw zapoznaj się z wyjątkiem OutOfMemoryError dla platformy Apache Spark.
Kilka podstawowych przykładowych poleceń. Wybierz odpowiedni język:
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()Wykonywanie zapytań względem pliku CSV. Zwróć uwagę, że poniższy język działa dla
spark-shellipyspark.spark.read.csv("/HdiSamples/HdiSamples/SensorSampleData/building/building.csv").show()Wykonaj zapytanie względem pliku CSV i zapisz wyniki w zmiennej:
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")Wyświetl wyniki:
data.show() data.select($"BuildingID", $"Country").show(10)data.show() data.select("BuildingID", "Country").show(10)Wyjdź
:qexit()
Wystąpienia SparkSession i SparkContext
Domyślnie po uruchomieniu powłoki Spark instancje SparkSession i SparkContext są tworzone automatycznie.
Aby uzyskać dostęp do wystąpienia SparkSession, wprowadź wartość spark. Aby uzyskać dostęp do wystąpienia SparkContext, wprowadź wartość sc.
Ważne parametry powłoki
Polecenie powłoki Spark (spark-shell lub pyspark) obsługuje wiele parametrów wiersza polecenia. Aby wyświetlić pełną listę parametrów, uruchom powłokę Spark przy użyciu przełącznika --help. Niektóre z tych parametrów mogą dotyczyć tylko spark-submit, który jest opakowany przez powłokę Spark.
| przełącznik | opis | przykład |
|---|---|---|
--master MASTER_URL |
Określa główny adres URL. W usłudze HDInsight ta wartość jest zawsze yarn. |
--master yarn |
--jars JAR_LIST |
Rozdzielona przecinkami lista lokalnych plików JAR do uwzględnienia w ścieżkach klas sterownika i wykonawcy. W usłudze HDInsight ta lista składa się ze ścieżek do domyślnego systemu plików w usłudze Azure Storage lub Data Lake Storage. | --jars /path/to/examples.jar |
--packages MAVEN_COORDS |
Rozdzielona przecinkami lista współrzędnych maven plików jar do uwzględnienia na ścieżkach klasy sterownika i funkcji wykonawczej. Przeszukuje lokalne repozytorium maven, a następnie centralne repozytorium maven, a następnie wszelkie dodatkowe repozytoria zdalne określone za pomocą --repositories. Format współrzędnych to groupId:artifactId:version. |
--packages "com.microsoft.azure:azure-eventhubs:0.14.0" |
--py-files LIST |
Tylko w przypadku języka Python, lista plików .zip, .egg lub .py oddzielona przecinkami, które mają zostać umieszczone na ścieżce PYTHONPATH. |
--pyfiles "samples.py" |
Następne kroki
- Aby zapoznać się z omówieniem, zobacz Wprowadzenie do platformy Apache Spark w usłudze Azure HDInsight .
- Zobacz Tworzenie klastra Apache Spark w usłudze Azure HDInsight , aby pracować z klastrami Spark i usługą SparkSQL.
- Zobacz Co to jest przesyłanie strumieniowe ze strukturą platformy Apache Spark? aby napisać aplikacje przetwarzające dane przesyłane strumieniowo za pomocą platformy Spark.