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 명령 중 하나를 지정합니다.

Language 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)