

# Amazon Athena에서 Apache Spark 시작하기
<a name="notebooks-spark-getting-started"></a>

**참고**  
릴리스 버전 Apache Spark 버전 3.5의 경우 [SageMaker 노트북](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/what-is-sagemaker-unified-studio.html)의 시작 안내서를 따릅니다. 릴리스 버전 Pyspark 엔진 버전 3에 대해서는 이 가이드를 사용합니다.

Amazon Athena에서 Apache Spark를 시작하려면 먼저 Spark 지원 작업 그룹을 생성해야 합니다. 작업 그룹으로 전환한 후 노트북을 생성하거나 기존 노트북을 열 수 있습니다. Athena에서 노트북을 열면 해당 노트북에 대한 새 세션이 자동으로 시작되고 Athena Notebook 편집기에서 직접 노트북으로 작업할 수 있습니다.

**참고**  
노트북을 생성하기 전에 Spark 지원 작업 그룹을 만들어야 합니다.

## 1단계: Athena에서 Spark 지원 작업 그룹 생성
<a name="notebooks-spark-getting-started-creating-a-spark-enabled-workgroup"></a>

Athena에서 [작업 그룹](workgroups-manage-queries-control-costs.md)을 사용하여 사용자, 팀, 애플리케이션 또는 작업 그룹을 그룹화하고 비용을 추적할 수 있습니다. Amazon Athena에서 Apache Spark를 사용하려면 Spark 엔진을 사용하는 Amazon Athena 작업 그룹을 생성합니다.

**참고**  
Apache Spark 지원 작업 그룹은 Athena 노트북 편집기를 사용할 수 있지만 Athena 쿼리 편집기는 사용할 수 없습니다. Athena SQL 작업 그룹만 Athena 쿼리 편집기를 사용할 수 있습니다.

**Athena에서 Spark 지원 작업 그룹을 생성하려면**

1. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home)에서 Athena 콘솔을 엽니다.

1. 콘솔 탐색 창이 표시되지 않으면 왼쪽의 확장 메뉴를 선택합니다.  
![\[확장 메뉴를 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/athena/latest/ug/images/nav-pane-expansion.png)

1. 탐색 창에서 **작업 그룹(Workgroups)**을 선택합니다.

1. **작업 그룹** 페이지에서 **작업 그룹 생성**을 선택합니다.

1. **Workgroup name**(작업 그룹 이름)에 Apache Spark 작업 그룹의 이름을 입력합니다.

1. (선택 사항) **Description**(설명)에 작업 그룹에 대한 설명을 입력합니다.

1. **Analytics engine**(분석 엔진)에서 **Apache Spark**를 선택합니다.
**참고**  
작업 그룹을 생성한 이후에 작업 그룹의 분석 엔진 유형을 변경할 수 없습니다. 예를 들어 Athena 엔진 버전 3 작업 그룹을 PySpark 엔진 버전 3 작업 그룹으로 변경할 수 없습니다.

1. 이 자습서에서는 **Turn on example notebook**(예제 노트북 켜기)을 선택합니다. 이 선택적 기능은 이름이 `example-notebook-random_string`인 예제 노트북을 작업 그룹에 추가하고, 노트북에서 계정의 특정 데이터베이스 및 테이블을 생성, 표시, 삭제하는 데 사용되는 AWS Glue 관련 권한과 샘플 데이터 세트에 대한 Amazon S3 읽기 권한을 추가합니다. 추가된 권한을 보려면 **View additional permissions details**(추가 권한 세부 정보 보기)를 선택합니다.
**참고**  
 예제 노트북을 실행하면 추가 비용이 발생할 수 있습니다.

1. **계산 결과 설정**에서 다음 옵션 중에서 선택합니다.
   + **새 S3 버킷 생성** - 이 옵션은 계산 결과를 위한 Amazon S3 버킷을 계정에 생성합니다. 버킷 이름은 `account_id-region-athena-results-bucket-alphanumeric_id` 형식을 따르며, ACL 비활성화, 퍼블릭 액세스 차단, 버전 관리 비활성화, 버킷 소유자 적용 설정을 사용합니다.
   + **기존 S3 위치 선택** - 이 옵션에 대해 다음을 수행합니다.
     + 검색 상자에 기존 위치의 S3 경로를 입력하거나 **Browse S3**(S3 찾아보기)를 선택하여 목록에서 버킷을 선택합니다.
**참고**  
Amazon S3에서 기존 위치를 선택할 때 해당 위치에 슬래시(`/`)를 추가하지 마세요. 그러면 [계산 세부 정보 페이지](#notebooks-spark-getting-started-viewing-session-and-calculation-details)의 계산 결과 위치 링크가 잘못된 디렉터리를 가리키게 됩니다. 이 경우 작업 그룹의 결과 위치를 편집하여 후행 슬래시를 제거합니다.
     + (선택 사항) 선택한 기존 버킷에 대한 자세한 내용을 보려면 **View**(보기)를 선택하여 Amazon S3 콘솔의 **Buckets**(버킷) 페이지를 엽니다.
     + (선택 사항) **Expected bucket owner**(예상 버킷 소유자)에 쿼리 결과 출력 위치 버킷의 소유자가 될 것으로 예상되는 AWS 계정 ID를 입력합니다. 가능하면 이 옵션을 추가 보안 조치로 선택하는 것이 좋습니다. 버킷 소유자의 계정 ID가 지정한 ID와 일치하지 않으면 버킷으로의 출력 시도가 실패합니다. 자세한 내용은 *Amazon S3 사용 설명서*의 [버킷 소유자 조건을 사용하여 버킷 소유권 확인](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-owner-condition.html)을 참조하세요.
     + (선택 사항) 계산 결과 위치를 다른 계정에서 소유한 경우 해당 계정에 쿼리 결과에 대한 전체 제어 권한을 부여하려면 **Assign bucket owner full control over query results**(버킷 소유자에게 쿼리 결과에 대한 전체 제어 권한 할당)를 선택합니다.

1. (선택 사항) 쿼리 결과를 암호화하려면 **쿼리 결과 암호화**를 선택합니다.
   + **암호화 유형**에서 다음 옵션 중 하나를 선택합니다.
     + **SSE\$1S3** – 이 옵션은 Amazon S3 관리형 암호화 키를 통한 서버 측 암호화(SSE)를 사용합니다.
     + **SSE\$1KMS** – 이 옵션은 AWS KMS 관리형 키를 통한 서버 측 암호화(SSE)를 사용합니다.

       **AWS KMS 키 선택**에서 다음 옵션 중 하나를 선택합니다.
       + **AWS 소유 키 사용** - AWS KMS 키를 AWS에서 소유 및 관리합니다 이 키 사용에 대한 추가 요금은 부과되지 않습니다.
       + **다른 AWS KMS 키 선택(고급)** - 이 옵션을 사용하려면 다음 중 하나를 수행합니다.
         + 기존 키를 사용하려면 검색 상자를 사용하여 AWS KMS를 선택하거나 키 ARN을 입력합니다.
         + AWS KMS 콘솔에서 키를 생성하려면 **AWS KMS 키 생성**을 선택합니다. 실행 역할은 생성한 키를 사용할 수 있는 권한이 있어야 합니다. KMS 콘솔에서 키 생성을 완료한 후 Athena 콘솔의 **작업 그룹 생성** 페이지로 돌아가서 **AWS KMS 키 선택 또는 ARN 입력** 검색 상자를 사용하여 방금 생성한 키를 선택합니다.
**중요**  
작업 그룹의 [AWS KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)를 변경해도 업데이트 이전에 관리된 노트북에서는 여전히 이전 KMS 키를 참조합니다. 업데이트 이후에 관리되는 노트북에서는 새 KMS 키를 사용합니다. 새 KMS 키를 참조하도록 이전 노트북을 업데이트하려면 각 이전 노트북을 내보낸 다음 가져옵니다. 이전 노트북 참조를 새 KMS 키로 업데이트하기 전에 이전 KMS 키를 삭제하면 이전 노트북을 더 이상 해독할 수 없으므로 복구할 수 없습니다.  
이 동작은 KMS 키의 표시 이름인 [별칭](https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html)에 대한 업데이트에도 적용됩니다. 새 KMS 키를 가리키도록 KMS 키 별칭을 업데이트할 경우 별칭 업데이트 이전에 관리되는 노트북에서는 여전히 이전 KMS 키를 참조하고 별칭 업데이트 이후에 관리되는 노트북에서는 새 KMS 키를 사용합니다. KMS 키 또는 별칭을 업데이트하기 이전에 다음 사항을 고려하세요.

1. **추가 구성**에서 **기본값 사용**을 선택합니다. 이 옵션은 Spark 지원 작업 그룹을 시작하는 데 도움이 됩니다. 기본값을 사용하면 Athena가 자동으로 Amazon S3에 IAM 역할 및 계산 결과 위치를 생성합니다. IAM 역할의 이름과 생성할 S3 버킷 위치는 **Additional configurations**(추가 구성) 머리글 아래 상자에 표시됩니다.

   기본값을 사용하지 않으려면 [(선택 사항) 자체 작업 그룹 구성을 사용자 지정](#notebooks-spark-getting-started-workgroup-configuration) 섹션의 단계를 계속 진행하여 작업 그룹을 수동으로 구성합니다.

1. (선택 사항) **Tags**(태그) - 이 옵션을 사용하여 작업 그룹에 태그를 추가합니다. 자세한 내용은 [Athena 리소스 태깅](tags.md) 섹션을 참조하세요.

1. **작업 그룹 생성**을 선택합니다. 작업 그룹이 생성되었다는 메시지가 표시되고 작업 그룹이 작업 그룹 목록에 표시됩니다.

### (선택 사항) 자체 작업 그룹 구성을 사용자 지정
<a name="notebooks-spark-getting-started-workgroup-configuration"></a>

노트북에 대한 IAM 역할 및 계산 결과 위치를 지정하려면 이 단원의 단계를 따르세요. **Additional configurations**(추가 구성) 옵션에서 **Use defaults**(기본값 사용)를 선택한 경우 이 단원을 건너뛰고 [2단계: 노트북 탐색기를 열어 작업 그룹 전환](#notebooks-spark-getting-started-switching-workgroups-and-opening-notebook-explorer)로 바로 이동합니다.

다음 절차에서는 이전 단원에서 **To create a Spark enabled workgroup in Athena**(Athena에서 Spark 지원 작업 그룹을 생성하려면) 절차의 1\$19단계를 완료했다고 가정합니다.

**작업 그룹 구성을 사용자 지정하려면**

1. 사용자의 고유 IAM 역할을 생성 또는 사용하거나 노트북 암호화를 구성하려면 **IAM role configuration**(IAM 역할 구성)을 확장합니다.
   + **Athena를 승인하는 서비스 역할**에서 다음 중 하나를 선택합니다.
     + **새 서비스 역할 생성 및 사용** - Athena에서 서비스 역할을 자동으로 생성하려면 이 옵션을 선택합니다. 역할에 부여되는 권한을 보려면 **View permission details**(권한 세부 정보 보기)를 선택합니다.
     + **기존 서비스 역할 사용** - 드롭다운 목록에서 기존 IAM 역할을 선택합니다. 선택한 역할에는 첫 번째 옵션의 권한이 포함되어야 합니다. 노트북 지원 작업 그룹의 권한에 대한 자세한 내용은 [Spark 지원 작업 그룹 문제 해결](notebooks-spark-troubleshooting-workgroups.md) 단원을 참조하세요.
   + **Notebook and calculation code encryption key management**(노트북 및 계산 코드 암호화 키 관리)에서 다음 옵션 중 하나를 선택합니다.
     + **AWS 소유 키를 사용하여 암호화(기본값)** - AWS KMS 키를 AWS에서 소유 및 관리합니다 이 키 사용에 대한 추가 요금은 부과되지 않습니다.
     + **자체 AWS KMS 키를 사용하여 암호화** - 이 옵션을 사용하려면 다음 중 하나를 수행합니다.
       + 기존 키를 사용하려면 검색 상자를 사용하여 AWS KMS를 선택하거나 키 ARN을 입력합니다.
       + AWS KMS 콘솔에서 키를 생성하려면 **AWS KMS 키 생성**을 선택합니다. 실행 역할은 생성한 키를 사용할 수 있는 권한이 있어야 합니다. KMS 콘솔에서 키 생성을 완료한 후 Athena 콘솔의 **작업 그룹 생성** 페이지로 돌아가서 **AWS KMS 키 선택 또는 ARN 입력** 검색 상자를 사용하여 방금 생성한 키를 선택합니다.
**중요**  
작업 그룹의 [AWS KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)를 변경해도 업데이트 이전에 관리된 노트북에서는 여전히 이전 KMS 키를 참조합니다. 업데이트 이후에 관리되는 노트북에서는 새 KMS 키를 사용합니다. 새 KMS 키를 참조하도록 이전 노트북을 업데이트하려면 각 이전 노트북을 내보낸 다음 가져옵니다. 이전 노트북 참조를 새 KMS 키로 업데이트하기 전에 이전 KMS 키를 삭제하면 이전 노트북을 더 이상 해독할 수 없으므로 복구할 수 없습니다.  
이 동작은 KMS 키의 표시 이름인 [별칭](https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html)에 대한 업데이트에도 적용됩니다. 새 KMS 키를 가리키도록 KMS 키 별칭을 업데이트할 경우 별칭 업데이트 이전에 관리되는 노트북에서는 여전히 이전 KMS 키를 참조하고 별칭 업데이트 이후에 관리되는 노트북에서는 새 KMS 키를 사용합니다. KMS 키 또는 별칭을 업데이트하기 이전에 다음 사항을 고려하세요.

1. <a name="notebook-gs-metrics"></a>(선택 사항) **Other settings**(기타 설정) - 이 옵션을 확장하여 작업 그룹에 대한 **Publish CloudWatch metrics**(CloudWatch 지표 게시) 옵션을 활성화하거나 비활성화합니다. 이 필드는 기본적으로 선택됩니다. 자세한 내용은 [CloudWatch 지표를 사용하여 Apache Spark 모니터링](notebooks-spark-metrics.md) 섹션을 참조하세요.

1. (선택 사항) **Tags**(태그) - 이 옵션을 사용하여 작업 그룹에 태그를 추가합니다. 자세한 내용은 [Athena 리소스 태깅](tags.md) 섹션을 참조하세요.

1. **작업 그룹 생성**을 선택합니다. 작업 그룹이 생성되었다는 메시지가 표시되고 작업 그룹이 작업 그룹 목록에 표시됩니다.

## 2단계: 노트북 탐색기를 열어 작업 그룹 전환
<a name="notebooks-spark-getting-started-switching-workgroups-and-opening-notebook-explorer"></a>

방금 생성한 Spark 지원 작업 그룹을 사용하려면 먼저 해당 작업 그룹으로 전환해야 합니다. Spark 지원 작업 그룹을 전환하려면 노트북 탐색기 또는 노트북 편집기에서 **Workgroup**(작업 그룹) 옵션을 사용할 수 있습니다.

**참고**  
시작하기 전에 브라우저가 서드 파티 쿠키를 차단하지 않는지 확인합니다. 브라우저가 기본값 또는 사용자가 지정한 설정으로 서드 파티 쿠키를 차단하는 경우 노트북이 실행되지 않습니다. 쿠키 관리에 관한 자세한 내용은 다음을 참조하세요.  
[Chrome](https://support.alertlogic.com/hc/en-us/articles/360018127132-Turn-Off-Block-Third-Party-Cookies-in-Chrome-for-Windows)
[Firefox](https://support.mozilla.org/en-US/kb/third-party-cookies-firefox-tracking-protection)
[Safari](https://support.apple.com/guide/safari/manage-cookies-sfri11471/mac)

**노트북 탐색기를 열고 작업 그룹을 전환하려면**

1. 탐색 창에서 **Notebook explorer**(노트북 탐색기)를 선택합니다.

1. 콘솔 오른쪽 상단의 **Workgroup**(작업 그룹) 옵션을 사용하여 생성한 Spark 지원 작업 그룹을 선택합니다. 예제 노트북이 노트북 목록에 표시됩니다.

   다음과 같은 방법으로 노트북 탐색기를 사용할 수 있습니다.
   + 연결된 노트북 이름을 선택하여 새 세션에서 노트북을 엽니다.
   + 노트북의 이름을 바꾸거나, 삭제하거나, 내보내려면 **Actions**(작업) 메뉴를 사용합니다.
   + 노트북 파일을 가져오려면 **Import file**(파일 가져오기)을 선택합니다.
   + 노트북을 생성하려면 **Create notebook**(노트북 생성)을 선택합니다.

## 3단계: 예제 노트북 실행
<a name="notebooks-spark-getting-started-running-the-example-notebook"></a>

샘플 노트북에서는 공개적으로 사용 가능한 뉴욕시 택시 여행 데이터 세트에서 데이터를 쿼리합니다. 노트북에는 Spark DataFrames, Spark SQL, AWS Glue Data Catalog를 사용하는 방법을 보여주는 예제가 나와 있습니다.

**예제 노트북을 실행하려면**

1. 노트북 탐색기에서 연결된 예제 노트북의 이름을 선택합니다.

   그러면 기본 파라미터를 사용하여 노트북 세션이 시작되고 노트북 편집기에서 노트북이 열립니다. 새 Apache Spark 세션이 기본 파라미터(최대 20개 DPU)를 사용하여 시작되었다는 메시지가 표시됩니다.

1. 셀을 순서대로 실행하고 결과를 확인하려면 노트북의 각 셀에 대해 **Run**(실행) 버튼을 한 번씩 선택합니다.
   + 아래로 스크롤하여 결과를 확인하고 새 셀을 보기로 불러옵니다.
   + 셀에 계산이 있는 경우 진행률 표시줄에 완료율, 경과된 시간 및 남은 시간이 표시됩니다.
   + 예제 노트북에서 사용자 계정에 샘플 데이터베이스 및 테이블을 생성합니다. 마지막 셀은 정리 단계로 이들 항목을 제거합니다.

**참고**  
예제 노트북에서 폴더, 테이블 또는 데이터베이스 이름을 변경하는 경우 해당 변경 내용이 사용 중인 IAM 역할에 반영되는지 확인합니다. 그렇지 않으면 권한이 부족하여 노트북이 실행되지 않을 수 있습니다.

## 4단계: 세션 세부 정보 편집
<a name="notebooks-spark-getting-started-editing-session-details"></a>

노트북 세션을 시작한 후 테이블 형식, 암호화, 세션 유휴 제한 시간, 사용할 최대 동시 데이터 처리 장치(DPU) 수와 같은 세션 세부 정보를 편집할 수 있습니다. DPU는 4 vCPU의 컴퓨팅 파워와 16GB 메모리로 구성된 프로세싱 파워의 상대적 측정값입니다.

**세션 세부 정보를 편집하려면**

1. 노트북 편집기의 오른쪽 상단 **Session**(세션) 메뉴에서 **Edit session**(세션 편집)을 선택합니다.

1. **세션 세부 정보 편집** 대화 상자의 **Spark 속성** 섹션에서 다음 옵션에 대한 값을 선택하거나 입력합니다.
   + **추가 테이블 형식** – **Linux Foundation Delta Lake**, **Apache Hudi**, **Apache Iceberg** 또는 **사용자 지정**을 선택합니다.
     + **Delta**, **Hudi** 또는 **Iceberg** 테이블 옵션에서 해당 테이블 형식에 필요한 테이블 속성은 **테이블에서 편집** 및 **JSON으로 편집** 옵션에 자동으로 제공됩니다. 이러한 테이블 형식 사용에 대한 자세한 내용은 [Athena for Spark에서 비 Hive 테이블 형식 사용](notebooks-spark-table-formats.md) 섹션을 참조하세요.
     + **사용자 정의** 또는 기타 테이블 유형에 대한 테이블 속성을 추가하거나 제거하려면 **테이블에서 편집** 및 **JSON으로 편집** 옵션을 사용합니다.
     + **테이블에서 편집** 옵션의 경우 **속성 추가**를 선택하여 속성을 추가하거나 **제거**를 선택하여 속성을 제거합니다. 속성 이름과 값을 입력하려면 **키** 및 **값** 상자를 사용합니다.
     + **JSON으로 편집** 옵션의 경우 JSON 텍스트 편집기를 사용하여 구성을 직접 편집합니다.
       + JSON 텍스트를 클립보드에 복사하려면 **복사**를 선택합니다.
       + JSON 편집기에서 모든 텍스트를 제거하려면 **지우기**를 선택합니다.
       + 줄 바꿈을 구성하거나 JSON 편집기의 색상 테마를 선택하려면 설정(톱니) 아이콘을 선택합니다.
   + **Spark 암호화 켜기** - 디스크에 기록되어 Spark 네트워크 노드를 통해 전송되는 데이터를 암호화하려면 이 옵션을 선택합니다. 자세한 내용은 [Apache Spark 암호화 활성화](notebooks-spark-encryption.md) 섹션을 참조하세요.

1. **세션 파라미터** 섹션에서 다음 옵션에 대한 값을 선택하거나 입력합니다.
   + **Session idle timeout**(세션 유휴 제한 시간) - 1\$1480분 사이의 값을 선택하거나 입력합니다. 기본값은 20입니다.
   + **Coordinator size**(코디네이터 크기) - *코디네이터*는 노트북 세션에서 처리 작업을 조율하고 다른 실행기를 관리하는 특수 실행기입니다. 현재는 1 DPU가 기본값이며 사용 가능한 유일한 값입니다.
   + **Executor size**(실행기 크기) - *실행기*는 노트북 세션이 Athena에서 요청할 수 있는 가장 작은 컴퓨팅 단위입니다. 현재는 1 DPU가 기본값이며 사용 가능한 유일한 값입니다.
   + **Max concurrent value**(최대 동시 값) - 동시에 실행할 수 있는 최대 DPU 수입니다. 기본값은 20이고 최소값은 3이며 최대값은 60입니다. 이 값을 늘려도 추가 리소스가 자동으로 할당되지 않지만 Athena에서 컴퓨팅 로드에 필요하고 리소스가 사용 가능할 때 지정된 최대값까지 할당하려고 시도합니다.

1. **저장**을 선택합니다.

1. **Confirm edit**(편집 확인) 프롬프트에서 **Confirm**(확인)을 선택합니다.

   Athena에서 노트북을 저장하고 지정된 파라미터로 새 세션을 시작합니다. 노트북 편집기의 배너에 수정된 파라미터로 새 세션이 시작되었다는 알림이 표시됩니다.
**참고**  
노트북의 세션 설정이 Athena에 저장됩니다. 세션 파라미터를 편집하고 세션을 종료한 후 다음에 노트북 세션을 시작하면 구성된 세션 파라미터가 Athena에서 사용됩니다.

## 5단계: 세션 및 계산 세부 정보 보기
<a name="notebooks-spark-getting-started-viewing-session-and-calculation-details"></a>

노트북을 실행한 후 세션 및 계산 세부 정보를 볼 수 있습니다.

**세션 및 계산 세부 정보를 보려면**

1. 오른쪽 상단의 **Session**(세션) 메뉴에서 **View details**(세부 정보 보기)를 선택합니다.
   + **Current session**(현재 세션) 탭에 세션 ID, 생성 시간, 상태, 작업 그룹 등 현재 세션에 대한 정보가 표시됩니다.
   + **History**(기록) 탭에 이전 세션의 세션 ID가 나열됩니다. 이전 세션의 세부 정보를 보려면 **History**(기록) 탭을 선택한 다음 목록에서 세션 ID를 선택합니다.
   + **Calculations**(계산) 섹션에는 세션에서 실행된 계산 목록이 표시됩니다.

1. 계산에 대한 세부 정보를 보려면 계산 ID를 선택합니다.

1. **Calculation details**(계산 세부 정보) 페이지에서 다음 작업을 수행할 수 있습니다.
   + 계산에 대한 코드를 보려면 **Code**(코드) 섹션을 확인하세요.
   + 계산 결과를 보려면 **Results**(결과) 탭을 선택합니다.
   + 텍스트 형식으로 표시된 결과를 다운로드하려면 **Download results**(결과 다운로드)를 선택합니다.
   + Amazon S3에서 계산 결과에 대한 정보를 보려면 **View in S3**(S3에서 보기)를 선택합니다.

## 6단계: 세션 종료
<a name="notebooks-spark-getting-started-terminating-a-session"></a>

**노트북 세션을 종료하려면**

1. 노트북 편집기의 오른쪽 상단 **Session**(세션) 메뉴에서 **Terminate**(종료)를 선택합니다.

1. **Confirm session termination**(세션 종료 확인) 프롬프트에서 **Confirm**(확인)을 선택합니다. 노트북이 저장되고 노트북 편집기로 돌아갑니다.

**참고**  
노트북 편집기에서 노트북 탭을 닫더라도 활성 노트북의 세션이 종료되지 않습니다. 세션이 종료되었는지 확인하려면 **Session**(세션), **Terminate** (종료) 옵션을 사용합니다.

## 7단계: 자체 노트북 생성
<a name="notebooks-spark-getting-started-creating-your-own-notebook"></a>

Spark 지원 Athena 작업 그룹을 생성한 후 사용자 노트북을 만들 수 있습니다.

**노트북을 생성하려면**

1. 콘솔 탐색 창이 표시되지 않으면 왼쪽의 확장 메뉴를 선택합니다.

1. Athena 콘솔 탐색 창에서 **Notebook explorer**(노트북 탐색기) 또는 **Notebook editor**(노트북 편집기)를 선택합니다.

1. 다음 중 하나를 수행하세요.
   + **Notebook explorer**(노트북 탐색기)에서 **Create notebook**(노트북 생성)을 선택합니다.
   + **Notebook editor**(노트북 편집기)에서 **Create notebook**(노트북 생성)을 선택하거나 더하기 아이콘(**\$1**)을 선택하여 노트북을 추가합니다.

1. **Create notebook**(노트북 생성) 대화 상자에서 **Notebook name**(노트북 이름)에 이름을 입력합니다.

1. (선택 사항) **Spark 속성**을 확장하고 다음 옵션에 대한 값을 선택하거나 입력합니다.
   + **추가 테이블 형식** – **Linux Foundation Delta Lake**, **Apache Hudi**, **Apache Iceberg** 또는 **사용자 지정**을 선택합니다.
     + **Delta**, **Hudi** 또는 **Iceberg** 테이블 옵션에서 해당 테이블 형식에 필요한 테이블 속성은 **테이블에서 편집** 및 **JSON으로 편집** 옵션에 자동으로 제공됩니다. 이러한 테이블 형식 사용에 대한 자세한 내용은 [Athena for Spark에서 비 Hive 테이블 형식 사용](notebooks-spark-table-formats.md) 섹션을 참조하세요.
     + **사용자 정의** 또는 기타 테이블 유형에 대한 테이블 속성을 추가하거나 제거하려면 **테이블에서 편집** 및 **JSON으로 편집** 옵션을 사용합니다.
     + **테이블에서 편집** 옵션의 경우 **속성 추가**를 선택하여 속성을 추가하거나 **제거**를 선택하여 속성을 제거합니다. 속성 이름과 값을 입력하려면 **키** 및 **값** 상자를 사용합니다.
     + **JSON으로 편집** 옵션의 경우 JSON 텍스트 편집기를 사용하여 구성을 직접 편집합니다.
       + JSON 텍스트를 클립보드에 복사하려면 **복사**를 선택합니다.
       + JSON 편집기에서 모든 텍스트를 제거하려면 **지우기**를 선택합니다.
       + 줄 바꿈을 구성하거나 JSON 편집기의 색상 테마를 선택하려면 설정(톱니) 아이콘을 선택합니다.
   + **Spark 암호화 켜기** - 디스크에 기록되어 Spark 네트워크 노드를 통해 전송되는 데이터를 암호화하려면 이 옵션을 선택합니다. 자세한 내용은 [Apache Spark 암호화 활성화](notebooks-spark-encryption.md) 섹션을 참조하세요.

1. (선택 사항) **Session parameters**(세션 파라미터)를 확장한 후 다음 옵션의 값을 선택하거나 입력합니다.
   + **Session idle timeout**(세션 유휴 제한 시간) - 1\$1480분 사이의 값을 선택하거나 입력합니다. 기본값은 20입니다.
   + **Coordinator size**(코디네이터 크기) - *코디네이터*는 노트북 세션에서 처리 작업을 조율하고 다른 실행기를 관리하는 특수 실행기입니다. 현재는 1 DPU가 기본값이며 사용 가능한 유일한 값입니다. DPU(데이터 처리 단위)는 4 vCPU의 컴퓨팅 파워와 16GB 메모리로 구성된 프로세싱 파워의 상대적 측정값입니다.
   + **Executor size**(실행기 크기) - *실행기*는 노트북 세션이 Athena에서 요청할 수 있는 가장 작은 컴퓨팅 단위입니다. 현재는 1 DPU가 기본값이며 사용 가능한 유일한 값입니다.
   + **Max concurrent value**(최대 동시 값) - 동시에 실행할 수 있는 최대 DPU 수입니다. 기본값은 20이고 최대값은 60입니다. 이 값을 늘려도 추가 리소스가 자동으로 할당되지 않지만 Athena에서 컴퓨팅 로드에 필요하고 리소스가 사용 가능할 때 지정된 최대값까지 할당하려고 시도합니다.

1. **생성(Create)**을 선택합니다. 노트북이 노트북 편집기의 새 세션에서 열립니다.

노트북 파일 관리에 대한 자세한 내용은 [노트북 파일 관리](notebooks-spark-managing.md) 섹션을 참조하세요.