Spark 커널이 있는 다국어 노트북 사용 - Amazon EMR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Spark 커널이 있는 다국어 노트북 사용

각 Jupyter Notebook 커널에는 기본 언어가 있습니다. 예를 들어 Spark 커널의 기본 언어는 Scala이고 PySpark 커널의 기본 언어는 Python입니다. Amazon EMR 6.4.0 이상에서는 EMR Studio가 다국어 노트북을 지원합니다. 즉, EMR Studio의 각 커널은 기본 언어인 Python, Spark, R 및 Spark 외에도 다음 언어를 지원할 수 있습니다SQL.

이 기능을 활성화하려면 다음 중 하나를 지정합니다.magic 모든 셀의 시작 부분에 있는 명령입니다.

언어 Command
Python

%%pyspark

Scala

%%scalaspark

R

%%rspark

EMR Serverless를 사용하는 대화형 워크로드에는 지원되지 않습니다.

Spark SQL

%%sql

간접 호출되면 해당 명령이 해당 언어의 인터프리터를 사용하여 동일한 Spark 세션 내에서 전체 셀을 실행합니다.

%%pyspark 셀 magic 를 사용하면 사용자가 모든 Spark 커널에 PySpark 코드를 작성할 수 있습니다.

%%pyspark a = 1

%%sql 셀 magic 를 사용하면 사용자가 모든 Spark 커널에서 Spark 코드를SQL 실행할 수 있습니다.

%%sql SHOW TABLES

%%rspark 셀 magic 를 사용하면 사용자가 모든 Spark 커널에서 SparkR 코드를 실행할 수 있습니다.

%%rspark a <- 1

%%scalaspark 셀 magic 를 사용하면 사용자가 모든 Spark 커널에서 Spark Scala 코드를 실행할 수 있습니다.

%%scalaspark val a = 1

임시 테이블을 사용하여 언어 인터프리터 사이에서 데이터 공유

임시 테이블을 사용하여 언어 인터프리터 사이에서 데이터를 공유할 수도 있습니다. 다음 예제에서는 한 셀에서 %%pyspark를 사용하여 Python에서 임시 테이블을 생성하고 다음 셀에서 %%scalaspark를 사용하여 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)