기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Jupyter 및 AWS Glue Studio 노트북용 AWS Glue 대화형 세션 구성
Jupyter 매직 소개
Jupyter 매직은 셀의 시작 부분이나 셀 전체에 실행할 수 있는 명령입니다. %
로 시작하는 매직은 라인 매직이고 %%
로 시작하면 셀 매직입니다. 라인 매직(예:%region
및 %connections
)은 하나의 셀 안에서 여러 매직으로 실행될 수 있으며, 또는 다음 예제와 같이 셀 본문에 포함된 코드로 실행할 수 있습니다.
%region us-east-2 %connections my_rds_connection dy_f = glue_context.create_dynamic_frame.from_catalog(database='rds_tables', table_name='sales_table')
셀 매직은 전체 셀을 사용해야 하며 명령이 여러 줄에 걸쳐 포함될 수 있습니다. %%sql
의 예는 아래와 같습니다.
%%sql select * from rds_tables.sales_table
Jupyter용 AWS Glue 대화형 세션에서 지원되는 매직
다음은 Jupyter Notebook용 AWS Glue 대화형 세션에서 사용할 수 있는 매직입니다.
세션 매직
명칭 | 유형 | 설명 |
---|---|---|
%help
|
해당 사항 없음 | 모든 매직 명령에 대한 설명 및 입력 유형 목록을 반환합니다. |
%profile |
String | AWS 구성에서 자격 증명 공급자로 사용할 프로필을 지정합니다. |
%region |
String |
세션을 초기화할 AWS 리전; 를 지정합니다. 기본값은 예제: |
%idle_timeout |
정수 |
셀이 실행된 후 세션이 시간 초과되기까지의 비활성 시간(분)입니다. Spark ETL 세션의 기본 유휴 제한 시간 값은 기본 제한 시간인 2880분 (48시간) 입니다. 다른 세션 유형에 대해서는 해당 세션 유형에 대한 설명서를 참조하세요. 예제: |
%session_id |
해당 사항 없음 | 실행 중인 세션의 세션 ID를 반환합니다. |
%session_id_prefix |
String |
모든 세션 앞에 오는 문자열을 [session_id_prefix] - [IDssession_id] 형식으로 정의하십시오. 세션 ID를 제공하지 않으면 무작위로 생성됩니다. UUID AWS Glue Studio에서 Jupyter Notebook을 실행할 때는 이 매직이 지원되지 않습니다. 예제: |
%status |
기간, 구성, 실행 사용자/역할을 포함한 현재 AWS Glue 세션의 상태를 반환합니다. | |
%stop_session
| 현재 세션을 중지합니다. | |
%list_sessions |
현재 실행 중인 모든 세션을 이름과 ID로 나열합니다. | |
%session_type |
String |
세션 유형을 스트리밍 또는 Ray 중 하나로 설정합니다. ETL 예제: |
%glue_version |
String |
이 세션에서 사용할 AWS Glue 버전입니다. 예제: |
작업 유형 선택을 위한 매직
명칭 | 유형 | 설명 |
---|---|---|
%streaming |
String | 세션 유형을 AWS Glue 스트리밍으로 변경합니다. |
%etl |
String | 세션 유형을 로 변경합니다 AWS GlueETL. |
%glue_ray | String | 세션 유형을 AWS Glue for Ray로 변경합니다. AWS Glue Ray 대화형 세션에서 지원하는 Magics를 참조하십시오. |
AWS Glue for Spart 구성 매직
%%configure
매직은 세션에 대한 모든 구성 파라미터로 구성된 JSON 형식의 사전입니다. 각 파라미터는 여기서 지정하거나 개별 매직을 통해 지정할 수 있습니다.
명칭 | 유형 | 설명 |
---|---|---|
%%configure
|
딕셔너리 |
세션의 모든 구성 파라미터로 구성된 JSON -format 딕셔너리를 지정하십시오. 각 파라미터는 여기서 지정하거나 개별 매직을 통해 지정할 수 있습니다. |
%iam_role |
String |
세션을 실행하는 ARN 데 사용할 IAM 역할을 지정합니다. 기본값은 ~/.aws/configure에 있습니다. 예제: |
%number_of_workers |
정수 |
작업이 실행될 때 할당되는 정의된 worker_type의 작업자 수입니다. 예제: |
%additional_python_modules |
나열 |
클러스터에 포함할 추가 Python 모듈의 쉼표로 구분된 목록입니다(PyPI 또는 S3에서 가져올 수 있음). 예: |
%%tags |
String |
세션에 태그를 추가합니다. 태그를 중괄호 {}로 묶어 지정합니다. 각 태그 이름 페어는 괄호(" ")로 묶고 쉼표(,)로 구분합니다.
|
%%assume_role |
사전 |
json 형식의 사전 또는 IAM 역할 ARN 문자열을 지정하여 계정 간 액세스를 위한 세션을 생성합니다. 예를 들면 다음과 같습니다. ARN
보안 인증 관련 예제:
|
%%configure 셀 매직 인수
%%configure
매직은 세션에 대한 모든 구성 파라미터로 구성된 JSON 형식의 사전입니다. 각 파라미터는 여기서 지정하거나 개별 매직을 통해 지정할 수 있습니다. %%configure
셀 매직이 지원하는 인수 예제는 아래를 참조하세요. 작업에 지정된 실행 인수에 --
접두사를 사용합니다. 예제:
%%configure { "--user-jars-first": "true", "--enable-glue-datacatalog": "false" }
작업 파라미터에 대한 자세한 내용은 작업 파라미터 섹션을 참조하세요.
세션 구성
파라미터 | 유형 | 설명 |
---|---|---|
max_retries |
정수 | 실패한 경우 이 작업을 다시 시도할 수 있는 최대 횟수입니다.
|
max_concurrent_runs |
정수 | 작업에 허용된 최대 동시 실행 수입니다. 예제:
|
세션 파라미터
파라미터 | 유형 | 설명 |
---|---|---|
--enable-spark-ui |
불 | Spark UI를 활성화하여 작업을 모니터링하고 AWS Glue ETL 디버깅합니다.
|
--spark-event-logs-path |
String | Amazon S3 경로를 지정합니다. Spark UI 모니터링 기능을 사용하는 경우. 예제:
|
--script_location |
String | 작업을 실행하는 스크립트의 S3 경로를 지정합니다. 예제:
|
--SECURITY_CONFIGURATION |
String | 보안 구성의 AWS Glue 이름 예제:
|
--job-language |
String | 스크립트 프로그래밍 언어. 'scala' 또는 'python'의 값이 허용됩니다. 기본값은 'python'입니다. 예제:
|
--class |
String | Scala 스크립트 진입점으로써 Scala 클래스. 기본값은 null입니다. 예제:
|
--user-jars-first |
불 | 클래스 경로에 있는 고객의 추가 JAR 파일에 우선 순위를 지정합니다. 기본값은 null입니다. 예제:
|
--use-postgres-driver |
불 | 드라이버와의 충돌을 방지하기 위해 클래스 경로에서 Postgres JDBC 드라이버의 우선 순위를 지정합니다. Amazon Redshift JDBC 기본값은 null입니다. 예제:
|
--extra-files |
List(string) | 스크립트를 실행하기 전에 AWS Glue에서 스크립트의 작업 디렉터리에 복사하는 구성 파일과 같은 추가 파일에 대한 Amazon S3 경로입니다. 예제:
|
--job-bookmark-option |
String | 작업 북마크 동작을 제어합니다. '', '또는' job-bookmark-enable '' 값을 허용합니다. job-bookmark-disable job-bookmark-pause 기본값은 job-bookmark-disable ''입니다. 예제:
|
--TempDir |
String | 작업의 임시 디렉터리로 사용될 수 있는 버킷에 대한 Amazon S3 경로를 지정합니다. 기본값은 null입니다. 예제:
|
--enable-s3-parquet-optimized-committer |
불 | EMRFSAmazon S3에 최적화된 커미터를 사용하여 Parquet 데이터를 Amazon S3에 쓸 수 있도록 합니다. 기본값은 'true'입니다. 예제:
|
--enable-rename-algorithm-v2 |
불 | EMRFS이름 변경 알고리즘 버전을 버전 2로 설정합니다. 기본값은 'true'입니다. 예제:
|
--enable-glue-datacatalog |
불 | AWS Glue 데이터 카탈로그를 Apache Spark Hive 메타스토어로 사용할 수 있습니다. 예제:
|
--enable-metrics |
불 | 작업 실행을 위해 작업 프로파일링용 지표 수집을 활성화합니다. 기본값은 'false'입니다. 예제:
|
--enable-continuous-cloudwatch-log |
불 | AWS Glue 작업에 대한 실시간 연속 로깅을 활성화합니다. 기본값은 'false'입니다. 예제:
|
--enable-continuous-log-filter |
불 | 연속 로깅을 위해 활성화된 작업을 편집하거나 해당 작업을 생성할 때 표준 필터 또는 필터 없음을 지정합니다. 기본값은 'true'입니다. 예제:
|
--continuous-log-stream-prefix |
String | 연속 로깅이 활성화된 작업의 사용자 지정 Amazon CloudWatch 로그 스트림 접두사를 지정합니다. 기본값은 null입니다. 예제:
|
--continuous-log-conversionPattern |
String | 연속 로깅에 대해 활성화된 작업의 사용자 지정 변환 로그 패턴을 지정합니다. 기본값은 null입니다. 예제:
|
--conf |
String | Spark 구성 파라미터를 제어합니다. 고급 사용 사례에 해당됩니다. 각 파라미터 앞에 --conf 를 사용하세요. 예제:
|
제한 시간 | 정수 | 명령문을 종료하기 전에 Spark 세션이 완료될 때까지 기다려야 하는 최대 시간을 결정합니다.
|
스파크 작업 (ETL및 스트리밍) 매직
명칭 | 유형 | 설명 |
---|---|---|
%worker_type |
String | 표준, G.1X 또는 G.2X가 있습니다. number_of_workers 도 설정해야 합니다. 기본 worker_type은 G.1X입니다. |
%connections |
나열 |
세션에서 사용할 연결을 쉼표로 구분된 목록으로 지정합니다. 예제:
|
%extra_py_files |
나열 | Amazon S3에 있는 추가 Python 파일의 쉼표로 구분된 목록입니다. |
%extra_jars |
나열 | 클러스터에 포함할 추가 jar의 쉼표로 구분된 목록입니다. |
%spark_conf |
String | 세션의 사용자 지정 Spartk 구성을 지정합니다. 예: %spark_conf spark.serializer=org.apache.spark.serializer.KryoSerializer . |
Ray 작업을 위한 매직
명칭 | 유형 | 설명 |
---|---|---|
%min_workers |
정수 | Ray 작업에 할당되는 작업자의 최소 수입니다. 기본값: 1. 예제: |
%object_memory_head |
정수 | 웜 스타트 이후 인스턴스 헤드 노드에서 사용 가능한 메모리의 백분율입니다. 최소값: 0 최대값: 100 예제: |
%object_memory_worker | 정수 | 웜 스타트 이후 인스턴스 워커 노드에서 사용 가능한 메모리의 백분율입니다. 최소값: 0 최대값: 100 예제: |
작업 매직
명칭 | 유형 | 설명 |
---|---|---|
%%sql |
String |
코드를 SQL 실행하세요. 초기 예제: |
%matplot |
Matplotlib 수치 |
matplotlib 라이브러리를 사용하여 데이터를 시각화합니다. 예제:
|
%plotly |
Plotly 수치 |
plotly 라이브러리를 사용하여 데이터를 시각화합니다. 예제:
|
세션 이름 지정
AWS Glue대화형 세션은 AWS 리소스이므로 이름이 필요합니다. 이름은 각 세션마다 고유해야 하며 IAM 관리자가 제한할 수 있습니다. 자세한 내용은 를 사용한 대화형 세션 IAM 단원을 참조하십시오. Jupyter 커널은 자동으로 고유한 세션 이름을 생성합니다. 그러나 세션의 이름은 두 가지 방법으로 직접 지정할 수 있습니다.
-
에 있는 AWS Command Line Interface 구성 파일 사용.
~.aws/config
를 사용하여 AWS Config 설정을 참조하십시오. AWS Command Line Interface -
%session_id_prefix
매직을 사용합니다. Jupyter용 AWS Glue 대화형 세션에서 지원되는 매직을 참조하세요.
세션 이름은 다음과 같이 생성됩니다.
접두사와 session_id가 제공되면 세션 이름은 {prefix} - {} 가 됩니다. UUID
아무것도 제공되지 않은 경우: 세션 이름은 {} 가 됩니다. UUID
세션 이름을 접두어로 붙이면 AWS CLI 또는 콘솔에 세션을 나열할 때 세션을 인식할 수 있습니다.
대화형 IAM 세션의 역할 지정
대화형 세션에서 실행하는 AWS Glue ETL 코드에 사용할 AWS Identity 및 Access Management (IAM) 역할을 지정해야 합니다.
역할에는 AWS Glue 작업을 실행하는 데 필요한 IAM 권한과 동일한 권한이 필요합니다. AWS Glue작업 및 대화형 AWS Glue세션용 IAM 역할 생성에 대한 자세한 내용은 역할 생성을 참조하십시오.
IAM역할은 다음 두 가지 방법으로 지정할 수 있습니다.
-
~.aws/config
(권장) 에 있는 AWS Command Line Interface 구성 파일 사용. 자세한 내용은 ~/.aws/config를 사용하여 세션 구성을 참조하세요.참고
%profile
매직이 사용될 때 해당 프로파일의glue_iam_role
에 대한 구성이 적용됩니다. -
%iam_role 매직을 사용합니다. 자세한 내용은 Jupyter용 AWS Glue 대화형 세션에서 지원되는 매직 단원을 참조하십시오.
명명된 프로파일을 사용하여 세션 구성
AWS Glue대화형 세션은 boto3와 동일한 자격 증명을 사용하며 대화형 세션은 (Linux 및 macOS) AWS Command Line Interface 또는 ~/.aws/config
(Windows) 에 있는 것과 같은 이름이 지정된 프로필을 사용하고 작동합니다. AWS CLI %USERPROFILE%\.aws\config
자세한 내용은 명명된 프로파일 사용을 참조하세요.
대화형 세션은 AWS Glue 서비스 역할 및 세션 ID 접두사가 프로파일에서 지정될 수 있도록 하여 명명된 프로파일을 활용합니다. 프로파일 역할을 구성하려면 아래와 같이 iam_role
키 및/또는 session_id_prefix
에 대한 줄을 명명된 프로파일에 추가합니다. session_id_prefix
에는 따옴표가 필요하지 않습니다. 예를 들어
session_id_prefix
를 추가하려면 session_id_prefix=myprefix
의 값을 입력합니다.
[default] region=us-east-1 aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY glue_iam_role=arn:aws:iam::<AccountID>:role/<GlueServiceRole> session_id_prefix=<prefix_for_session_names> [user1] region=eu-west-1 aws_access_key_id=AKIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY glue_iam_role=arn:aws:iam::<AccountID>:role/<GlueServiceRoleUser1> session_id_prefix=<prefix_for_session_names_for_user1>
자격 증명을 생성하는 사용자 지정 방법이 있는 경우, ~/.aws/config
파일에서 credential_process
파라미터를 사용하도록 프로파일을 구성할 수도 있습니다 예:
[profile developer] region=us-east-1 credential_process = "/Users/Dave/generate_my_credentials.sh" --username helen
credential_process
파라미터를 통한 자격 증명 소싱에 대한 자세한 내용은 외부 프로세스를 통해 자격 증명 소싱을 참조하세요.
사용 중인 프로파일에 리전 또는 iam_role
이 설정되어 있지 않으면 실행하는 첫 번째 셀에서 %region
및 %iam_role
매직을 사용하여 지정해야 합니다.