Verwenden Sie mehrsprachige Notebooks mit Spark-Kerneln - Amazon EMR

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

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

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)