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 |
|
Scala |
|
R |
Não há suporte para workloads interativas com o EMR Serverless. |
Spark 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)