Use cadernos em várias linguagens com kernels do Spark - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Use cadernos em várias linguagens com kernels do Spark

Cada kernel de caderno Jupyter tem uma linguagem padrão. Por exemplo, o idioma padrão do kernel do Spark é o Scala e o idioma padrão do PySpark kernel é o Python. Com a versão 6.4.0 e versões posteriores do Amazon EMR, o EMR Studio oferece suporte a cadernos em várias linguagens. Isso significa que cada kernel no EMR Studio pode oferecer suporte às seguintes linguagens, além da linguagem padrão: Python, Spark, R e Spark SQL.

Para ativar este atributo, especifique um dos comandos magic apresentados a seguir no início de qualquer célula.

Idioma Command
Python

%%pyspark

Scala

%%scalaspark

R

%%rspark

Não há suporte para workloads interativas com o EMR Serverless.

Spark SQL

%%sql

Quando invocados, esses comandos executam a célula inteira na mesma sessão do Spark usando o interpretador da linguagem correspondente.

A %%pyspark célula magic permite que os usuários escrevam PySpark código em todos os kernels do Spark.

%%pyspark a = 1

A célula magic do %%sql permite que os usuários executem código Spark SQL em todos os kernels do Spark.

%%sql SHOW TABLES

A célula magic do %%rspark permite que os usuários executem código SparkR em todos os kernels do Spark.

%%rspark a <- 1

A célula magic do %%scalaspark permite que os usuários executem código Spark Scala em todos os kernels do Spark.

%%scalaspark val a = 1

Compartilhamento de dados entre interpretadores de linguagens com tabelas temporárias

Você também pode compartilhar dados entre interpretadores de linguagem usando tabelas temporárias. O exemplo a seguir usa %%pyspark em uma célula para criar uma tabela temporária em Python e usa %%scalaspark na célula a seguir para realizar a leitura de dados dessa tabela em 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)