Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Un shell interactivo de Apache Spark proporciona un entorno REPL (bucle leer, ejecutar e imprimir) para ejecutar comandos Spark de uno en uno y ver los resultados. Este proceso es útil para tareas de desarrollo y depuración. Spark proporciona un shell para cada uno de los lenguajes que admite: Scala, Python y R.
Ejecución del shell de Apache Spark
Use el comando SSH para conectarse al clúster. Modifique el comando siguiente: reemplace CLUSTERNAME por el nombre del clúster y, luego, escriba el comando:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.netSpark proporciona shells para Scala (spark-shell) y Python (pyspark). En su sesión SSH, escriba uno de los siguientes comandos:
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 4Si tiene previsto usar una configuración opcional, asegúrese de revisar primero la excepción OutOfMemoryError de Apache Spark.
Algunos comandos básicos de ejemplo. Elija el lenguaje pertinente:
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()Consulte un archivo CSV. Tenga en cuenta que el lenguaje siguiente funciona para
spark-shellypyspark.spark.read.csv("/HdiSamples/HdiSamples/SensorSampleData/building/building.csv").show()Consulte un archivo CSV y almacene los resultados en una 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")Visualización de resultados:
data.show() data.select($"BuildingID", $"Country").show(10)data.show() data.select("BuildingID", "Country").show(10)Salir
:qexit()
Instancias de objetos SparkSession y SparkContext
De forma predeterminada, cuando se ejecute el shell de Spark, se crea automáticamente las instancias de los objetos SparkSession y SparkContext.
Para acceder a la instancia de SparkSession, escriba spark. Para acceder a la instancia de SparkContext, escriba sc.
Parámetros de shell importantes
El comando de shell de Spark (spark-shell o pyspark) admite muchos parámetros de línea de comandos. Para ver una lista completa de parámetros, inicie el shell de Spark con el modificador --help. Algunos de estos parámetros solo se pueden aplicar a spark-submit, que es el que incluye el shell de Spark.
| switch | description | ejemplo |
|---|---|---|
--master MASTER_URL |
Especifica la URL principal. En HDInsight, este valor es siempre yarn. |
--master yarn |
--jars JAR_LIST |
Lista separada por comas de archivos JAR locales que se incluirán en las rutas de clase del controlador y el ejecutor. En HDInsight, esta lista se compone de las rutas de acceso al sistema de archivos predeterminado en Azure Storage o Data Lake Storage. | --jars /path/to/examples.jar |
--packages MAVEN_COORDS |
Lista separada por comas de coordenadas de Maven de archivos JAR locales que se incluirán en las rutas de clase del controlador y el ejecutor. Busca en el repositorio de Maven local, luego, en el central y, después, en cualquier repositorio remoto adicional especificado con --repositories. El formato de las coordenadas es idGrupo:idArtefacto:versión. |
--packages "com.microsoft.azure:azure-eventhubs:0.14.0" |
--py-files LIST |
Solo para Python; lista separada por comas de los archivos .zip, .egg o .py que se colocarán en PYTHONPATH. |
--pyfiles "samples.py" |
Pasos siguientes
- Para información general, consulte Introducción a Apache Spark en Azure HDInsight.
- Si quiere trabajar con SparkSQL y los clústeres de Spark, lea Creación de un clúster de Apache Spark en Azure HDInsight.
- Para escribir aplicaciones que procesen datos de streaming con Spark, consulte el artículo que explica qué es el streaming estructurado de Apache Spark.