콘솔에서 EMR Serverless 시작하기 - Amazon EMR

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

콘솔에서 EMR Serverless 시작하기

1단계: EMR Serverless 애플리케이션 생성

다음과 같이 EMR Serverless를 사용하여 새 애플리케이션을 생성합니다.

  1. 에 로그인 AWS Management Console 하고 https://console.aws.amazon.com/emr 에서 Amazon EMR 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 EMR 서버리스를 선택하여 EMR 서버리스 랜딩 페이지로 이동합니다.

  3. EMR 서버리스 애플리케이션을 생성하거나 관리하려면 EMR Studio UI가 필요합니다.

    • 애플리케이션을 생성하려는 AWS 리전 에 이미 EMR Studio가 있는 경우 애플리케이션 관리를 선택하여 EMR Studio로 이동하거나 사용할 스튜디오를 선택합니다.

    • 애플리케이션을 생성 AWS 리전 하려는 에 EMR Studio가 없는 경우 시작하기를 선택한 다음 Studio 생성 및 시작을 선택합니다. EMR Serverless는 애플리케이션을 생성하고 관리할 수 있도록 EMR Studio를 생성합니다.

  4. 새 탭에서 열리는 스튜디오 UI 생성에 애플리케이션의 이름, 유형 및 릴리스 버전을 입력합니다. 배치 작업만 실행하려면 배치 작업에만 기본 설정 사용을 선택합니다. 대화형 워크로드의 경우 대화형 워크로드에 기본 설정 사용을 선택합니다. 이 옵션을 사용하여 대화형 지원 애플리케이션에서 배치 작업을 실행할 수도 있습니다. 필요한 경우 나중에 이러한 설정을 변경할 수 있습니다.

    자세한 내용은 스튜디오 생성을 참조하세요.

  5. 애플리케이션 생성을 선택하여 첫 번째 애플리케이션을 생성합니다.

작업 실행 또는 대화형 워크로드를 제출2단계: 작업 실행 또는 대화형 워크로드 제출하려면 다음 섹션으로 계속 진행합니다.

2단계: 작업 실행 또는 대화형 워크로드 제출

Spark job run

이 자습서에서는 PySpark 스크립트를 사용하여 여러 텍스트 파일에서 고유한 단어가 발생하는 횟수를 계산합니다. 퍼블릭 읽기 전용 S3 버킷은 스크립트와 데이터 세트를 모두 저장합니다.

Spark 작업을 실행하려면
  1. 다음 명령을 사용하여 샘플 스크립트를 새 버킷wordcount.py에 업로드합니다.

    aws s3 cp s3://us-east-1.elasticmapreduce/emr-containers/samples/wordcount/scripts/wordcount.py s3://amzn-s3-demo-bucket/scripts/
  2. 완료하면 EMR Studio의 애플리케이션 세부 정보 페이지로 1단계: EMR Serverless 애플리케이션 생성 이동합니다. 여기서 작업 제출 옵션을 선택합니다.

  3. 작업 제출 페이지에서 다음을 완료합니다.

    • 이름 필드에 작업 실행을 호출할 이름을 입력합니다.

    • 런타임 역할 필드에 에서 생성한 역할의 이름을 입력합니다작업 런타임 역할 생성.

    • 스크립트 위치 필드에 를 S3 s3://amzn-s3-demo-bucket/scripts/wordcount.py로 입력합니다URI.

    • 스크립트 인수 필드에 를 입력합니다["s3://amzn-s3-demo-bucket/emr-serverless-spark/output"].

    • Spark 속성 섹션에서 텍스트로 편집을 선택하고 다음 구성을 입력합니다.

      --conf spark.executor.cores=1 --conf spark.executor.memory=4g --conf spark.driver.cores=1 --conf spark.driver.memory=4g --conf spark.executor.instances=1
  4. 작업 실행을 시작하려면 작업 제출을 선택합니다.

  5. 작업 실행 탭에서 실행 중 상태의 새 작업 실행이 표시됩니다.

Hive job run

자습서의 이 부분에서는 테이블을 생성하고, 몇 개의 레코드를 삽입하고, 개수 집계 쿼리를 실행합니다. Hive 작업을 실행하려면 먼저 단일 작업의 일부로 실행할 모든 Hive 쿼리가 포함된 파일을 생성하고 S3에 파일을 업로드한 다음 Hive 작업을 시작할 때 이 S3 경로를 지정합니다.

Hive 작업을 실행하려면
  1. Hive 작업에서 실행하려는 모든 쿼리가 hive-query.ql 포함된 라는 파일을 생성합니다.

    create database if not exists emrserverless; use emrserverless; create table if not exists test_table(id int); drop table if exists Values__Tmp__Table__1; insert into test_table values (1),(2),(2),(3),(3),(3); select id, count(id) from test_table group by id order by id desc;
  2. 다음 명령을 사용하여 S3 버킷hive-query.ql에 업로드합니다.

    aws s3 cp hive-query.ql s3://amzn-s3-demo-bucket/emr-serverless-hive/query/hive-query.ql
  3. 완료하면 EMR Studio의 애플리케이션 세부 정보 페이지로 1단계: EMR Serverless 애플리케이션 생성 이동합니다. 여기서 작업 제출 옵션을 선택합니다.

  4. 작업 제출 페이지에서 다음을 완료합니다.

    • 이름 필드에 작업 실행을 호출할 이름을 입력합니다.

    • 런타임 역할 필드에 에서 생성한 역할의 이름을 입력합니다작업 런타임 역할 생성.

    • 스크립트 위치 필드에 를 S3 s3://amzn-s3-demo-bucket/emr-serverless-hive/query/hive-query.ql로 입력합니다URI.

    • Hive 속성 섹션에서 텍스트로 편집을 선택하고 다음 구성을 입력합니다.

      --hiveconf hive.log.explain.output=false
    • 작업 구성 섹션에서 로 편집을 JSON선택하고 다음 를 입력합니다JSON.

      { "applicationConfiguration": [{ "classification": "hive-site", "properties": { "hive.exec.scratchdir": "s3://amzn-s3-demo-bucket/emr-serverless-hive/hive/scratch", "hive.metastore.warehouse.dir": "s3://amzn-s3-demo-bucket/emr-serverless-hive/hive/warehouse", "hive.driver.cores": "2", "hive.driver.memory": "4g", "hive.tez.container.size": "4096", "hive.tez.cpu.vcores": "1" } }] }
  5. 작업 실행을 시작하려면 작업 제출을 선택합니다.

  6. 작업 실행 탭에서 실행 중 상태의 새 작업 실행이 표시됩니다.

Interactive workload

Amazon EMR 6.14.0 이상에서는 EMR Studio에서 호스팅되는 노트북을 사용하여 EMR Serverless에서 Spark에 대한 대화형 워크로드를 실행할 수 있습니다. 권한 및 사전 조건을 포함한 자세한 내용은 섹션을 참조하세요Studio를 통해 EMR 서버리스로 대화형 워크로드 실행 EMR.

애플리케이션을 생성하고 필요한 권한을 설정한 후 다음 단계에 따라 EMR Studio에서 대화형 노트북을 실행합니다.

  1. EMR Studio의 Workspaces 탭으로 이동합니다. 그래도 Amazon S3 스토리지 위치 및 EMR Studio 서비스 역할을 구성해야 하는 경우 화면 상단의 배너에서 스튜디오 구성 버튼을 선택합니다.

  2. 노트북에 액세스하려면 Workspace를 선택하거나 새 Workspace를 생성합니다. 빠른 시작을 사용하여 새 탭에서 Workspace를 엽니다.

  3. 새로 열린 탭으로 이동합니다. 왼쪽 탐색에서 컴퓨팅 아이콘을 선택합니다. 컴퓨팅 유형으로 EMR 서버리스를 선택합니다.

  4. 이전 섹션에서 생성한 대화형 지원 애플리케이션을 선택합니다.

  5. 런타임 역할 필드에 EMR Serverless 애플리케이션이 작업 실행을 위해 수임할 수 있는 IAM 역할의 이름을 입력합니다. 런타임 역할에 대한 자세한 내용은 Amazon EMR Serverless 사용 설명서작업 런타임 역할을 참조하세요.

  6. 연결 을 선택합니다. 최대 1분이 걸릴 수 있습니다. 페이지가 연결되면 새로 고쳐집니다.

  7. 커널을 선택하고 노트북을 시작합니다. EMR Serverless에서 예제 노트북을 찾아 Workspace에 복사할 수도 있습니다. 예제 노트북에 액세스하려면 왼쪽 탐색의 {...} 메뉴로 이동하여 노트북 파일 이름serverless에 있는 노트북을 탐색합니다.

  8. 노트북에서 드라이버 로그 링크와 작업을 모니터링하는 지표를 제공하는 실시간 인터페이스인 Apache Spark UI에 대한 링크에 액세스할 수 있습니다. 자세한 내용은 Amazon EMR Serverless 사용 설명서의 서버리스 애플리케이션 및 작업 모니터링을 참조하세요. EMR

Studio 워크스페이스에 애플리케이션을 연결하면 애플리케이션이 아직 실행되지 않은 경우 애플리케이션 시작이 자동으로 트리거됩니다. 애플리케이션을 미리 시작하고 작업 영역에 연결하기 전에 미리 준비할 수도 있습니다.

3단계: 애플리케이션 UI 및 로그 보기

애플리케이션 UI를 보려면 먼저 작업 실행을 식별합니다. Spark UI 또는 Hive Tez UI에 대한 옵션은 작업 유형에 따라 해당 작업 실행의 첫 번째 옵션 행에서 사용할 수 있습니다. 적절한 옵션을 선택합니다.

Spark UI를 선택한 경우 실행기 탭을 선택하여 드라이버 및 실행기 로그를 봅니다. Hive Tez UI를 선택한 경우 모든 작업 탭을 선택하여 로그를 확인합니다.

작업 실행 상태가 성공 으로 표시되면 S3 버킷에서 작업의 출력을 볼 수 있습니다.

4단계: 정리

생성한 애플리케이션은 15분 동안 사용하지 않으면 자동으로 중지되지만 다시 사용하지 않을 리소스는 릴리스하는 것이 좋습니다.

애플리케이션을 삭제하려면 애플리케이션 목록 페이지로 이동합니다. 생성한 애플리케이션을 선택하고 작업 → 중지를 선택하여 애플리케이션을 중지합니다. 애플리케이션이 STOPPED 상태이면 동일한 애플리케이션을 선택하고 작업 → 삭제를 선택합니다.

Spark 및 Hive 작업 실행에 대한 자세한 예는 Spark 작업 및 섹션을 참조하세요Hive 작업.