Udostępnij za pośrednictwem


Uruchamianie platformy Apache Spark z poziomu powłoki Spark

Interaktywna powłoka Apache Spark zapewnia środowisko REPL (read-execute-print loop) do uruchamiania poleceń platformy Spark po jednym naraz i wyświetlania wyników. Ten proces jest przydatny w przypadku programowania i debugowania. Platforma Spark udostępnia jedną powłokę dla każdego z obsługiwanych języków: Scala, Python i R.

Uruchamianie powłoki Platformy Apache Spark

  1. 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.net
    
  2. Platforma Spark udostępnia powłoki dla języka Scala (spark-shell) i języka 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 4
    
    pyspark
    
    # Optional configurations
    # pyspark --num-executors 4 --executor-memory 4g --executor-cores 2 --driver-memory 8g --driver-cores 4
    

    Jeśli zamierzasz użyć dowolnej konfiguracji opcjonalnej, najpierw zapoznaj się z wyjątkiem OutOfMemoryError dla platformy Apache Spark.

  3. 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()
    
  4. Wykonywanie zapytań względem pliku CSV. Zwróć uwagę, że poniższy język działa dla języków spark-shell i pyspark.

    spark.read.csv("/HdiSamples/HdiSamples/SensorSampleData/building/building.csv").show()
    
  5. Wykonaj zapytanie dotyczące 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")
    
  6. Wyświetl wyniki:

    data.show()
    data.select($"BuildingID", $"Country").show(10)
    
    data.show()
    data.select("BuildingID", "Country").show(10)
    
  7. Zakończ

    :q
    
    exit()
    

Wystąpienia sparkSession i SparkContext

Domyślnie po uruchomieniu powłoki Spark wystąpienia sparkSession i SparkContext są tworzone automatycznie.

Aby uzyskać dostęp do wystąpienia sparkSession, wprowadź .spark Aby uzyskać dostęp do wystąpienia sparkContext, wprowadź .sc

Ważne parametry powłoki

Polecenie powłoki spark (spark-shelllub pyspark) obsługuje wiele parametrów wiersza polecenia. Aby wyświetlić pełną listę parametrów, uruchom powłokę Spark za pomocą przełącznika --help. Niektóre z tych parametrów mogą dotyczyć spark-submittylko elementu , który opakowuje powłoka Spark.

switch description (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 funkcji wykonawczej. 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 w ścieżkach klas sterowników i funkcji wykonawczej. Przeszukuje lokalne repozytorium maven, a następnie centralę programu Maven, a następnie wszelkie dodatkowe repozytoria zdalne określone za pomocą polecenia --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 rozdzielona przecinkami lista .zipplików , .egglub .py umieszczana na ścieżce PYTHONPATH. --pyfiles "samples.py"

Następne kroki