

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verwenden Sie mehrsprachige Notebooks mit Spark-Kerneln
<a name="emr-multi-language-kernels"></a>

Jeder Jupyter-Notebook-Kernel hat eine Standardsprache. Die Standardsprache des Spark-Kernels ist beispielsweise Scala, und die Standardsprache des PySpark Kernels ist Python. Mit Amazon EMR 6.4.0 und höher unterstützt EMR Studio mehrsprachige Notizbücher. Das bedeutet, dass jeder Kernel in EMR Studio zusätzlich zur Standardsprache die folgenden Sprachen unterstützen kann: Python, Spark, R und Spark SQL.

Um dieses Feature zu aktivieren, geben Sie am Anfang einer beliebigen Zelle einen der folgenden magic-Befehle an.


****  

| Sprache | Befehl | 
| --- | --- | 
| Python | `%%pyspark` | 
| Scala | `%%scalaspark` | 
| R | `%%rspark` Wird nicht für interaktive Workloads mit EMR Serverless unterstützt. | 
| Spark-SQL | `%%sql` | 

Wenn diese Befehle aufgerufen werden, führen sie die gesamte Zelle innerhalb derselben Spark-Sitzung mit dem Interpreter der entsprechenden Sprache aus.

Die `%%pyspark` Zelle magic ermöglicht es Benutzern, PySpark Code in alle Spark-Kernel zu schreiben.

```
%%pyspark
a = 1
```

Die `%%sql`-Zelle magic ermöglicht es Benutzern, Spark-SQL-Code in allen Spark-Kerneln auszuführen.

```
%%sql
SHOW TABLES
```

Die `%%rspark`-Zelle magic ermöglicht es Benutzern, SparkR in allen Spark-Kerneln auszuführen.

```
%%rspark
a <- 1
```

Die `%%scalaspark`-Zelle magic ermöglicht es Benutzern, Spark-Scala-Code in allen Spark-Kerneln auszuführen.

```
%%scalaspark
val a = 1
```

## Teilen Sie Daten mit temporären Tabellen zwischen Sprachinterpretern
<a name="emr-temp-tables"></a>

Mithilfe temporärer Tabellen können Sie Daten auch zwischen Sprachinterpretern austauschen. Das folgende Beispiel verwendet `%%pyspark` in einer Zelle, um eine temporäre Tabelle in Python zu erstellen, und verwendet `%%scalaspark` in der folgenden Zelle, um Daten aus dieser Tabelle in Scala zu lesen.

```
%%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)
```