Gunakan notebook multi-bahasa dengan kernel Spark - Amazon EMR

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan notebook multi-bahasa dengan kernel Spark

Setiap kernel notebook Jupyter memiliki bahasa default. Misalnya, bahasa default kernel Spark adalah Scala, dan bahasa default PySpark kernel adalah Python. Dengan Amazon EMR 6.4.0 dan yang lebih baru, EMR Studio mendukung notebook multi-bahasa. Ini berarti bahwa setiap kernel di EMR Studio dapat mendukung bahasa berikut selain bahasa default: Python, Spark, R, dan Spark. SQL

Untuk mengaktifkan fitur ini, tentukan salah satu magic perintah berikut di awal sel apa pun.

Bahasa Perintah
Python

%%pyspark

Skala

%%scalaspark

R

%%rspark

Tidak didukung untuk beban kerja interaktif dengan Tanpa EMR Server.

Percikan SQL

%%sql

Saat dipanggil, perintah ini menjalankan seluruh sel dalam sesi Spark yang sama menggunakan penerjemah bahasa yang sesuai.

%%pysparkSel magic memungkinkan pengguna untuk menulis PySpark kode di semua kernel Spark.

%%pyspark a = 1

%%sqlSel magic memungkinkan pengguna untuk mengeksekusi SQL kode Spark di semua kernel Spark.

%%sql SHOW TABLES

%%rsparkSel magic memungkinkan pengguna untuk mengeksekusi kode SparkR di semua kernel Spark.

%%rspark a <- 1

%%scalasparkSel magic memungkinkan pengguna untuk mengeksekusi kode Spark Scala di semua kernel Spark.

%%scalaspark val a = 1

Bagikan data di seluruh penerjemah bahasa dengan tabel sementara

Anda juga dapat berbagi data antar penerjemah bahasa menggunakan tabel sementara. Contoh berikut menggunakan %%pyspark dalam satu sel untuk membuat tabel sementara di Python dan menggunakan %%scalaspark dalam sel berikut untuk membaca data dari tabel itu di 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)