Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Usar cuadernos multilingües con kernels de Spark
Cada kernel de cuadernos de Jupyter tiene un lenguaje predeterminado. Por ejemplo, el idioma predeterminado del núcleo de Spark es Scala y el idioma predeterminado de PySpark los núcleos es Python. Con Amazon EMR 6.4.0 y versiones posteriores, EMR Studio admite blocs de notas multilingües. Esto significa que cada núcleo de EMR Studio puede admitir los siguientes lenguajes además del idioma predeterminado: Python, Spark, R y SparkSQL.
Para activar esta función, especifique una de las siguientes opciones magic comandos al principio de cualquier celda.
Idioma | Comando |
---|---|
Python |
|
Scala |
|
R |
No se admite para cargas de trabajo interactivas con EMR Serverless. |
Spark SQL |
|
Cuando se invocan, estos comandos ejecutan toda la celda dentro de la misma sesión de Spark utilizando el intérprete del lenguaje correspondiente.
La %%pyspark
celda magic permite a los usuarios escribir PySpark código en todos los núcleos de Spark.
%%pyspark a = 1
¿La célula %%sql
magic permite a los usuarios ejecutar SQL código de Spark en todos los núcleos de Spark.
%%sql SHOW TABLES
¿La celda %%rspark
magic permite a los usuarios ejecutar código SparkR en todos los núcleos de Spark.
%%rspark a <- 1
¿La celda %%scalaspark
magic permite a los usuarios ejecutar código de Spark Scala en todos los núcleos de Spark.
%%scalaspark val a = 1
Compartir datos entre intérpretes de lenguajes con tablas temporales
También puede compartir datos entre intérpretes de lenguajes mediante tablas temporales. En el siguiente ejemplo, se usa %%pyspark
en una celda para crear una tabla temporal en Python y se usa %%scalaspark
en la celda siguiente para leer los datos de esa tabla en Scala.
%%pyspark df=spark.sql("SELECT * from nyc_top_trips_report LIMIT 20") # create a temporary table called nyc_top_trips_report_view in python df.createOrReplaceTempView("nyc_top_trips_report_view")
%%scalaspark // read the temp table in scala val df=spark.sql("SELECT * from nyc_top_trips_report_view") df.show(5)