EMR Notebooks에서 작업 - Amazon EMR

EMR Notebooks에서 작업

참고

EMR Notebooks는 새 콘솔에서 EMR Studio Workspace로 사용할 수 있습니다. 기존 콘솔에서는 기존 노트북을 계속 사용할 수 있지만 이전 콘솔에서는 새 노트북을 생성할 수 없습니다. 새 콘솔의 Workspace 생성 버튼이 이 기능을 대체합니다. EMR Notebooks 사용자는 Workspace에 액세스하거나 Workspace를 생성하려면 추가 IAM 역할 권한이 필요합니다. 자세한 내용은 Amazon EMR Notebooks이 새 콘솔에서 Amazon EMR Studio Workspace 역할 수행콘솔의 새로운 기능을 참조하세요.

EMR 노트북을 생성한 후 잠시 후에 노트북이 시작됩니다. 노트북 목록의 상태시작 중으로 표시됩니다. 준비 상태가 되면 노트북을 열 수 있습니다. 노트북과 함께 클러스터를 생성한 경우 노트북이 준비 상태가 되려면 시간이 좀 더 걸릴 수 있습니다.

작은 정보

브라우저를 새로 고치거나 노트북 목록 위쪽의 새로 고침 아이콘을 선택하여 노트북 상태를 새로 고치십시오.

노트북 상태 이해

EMR 노트북은 노트북 목록의 상태에 대해 다음을 포함할 수 있습니다.

상태 의미

준비

노트북 편집기를 사용하여 노트북을 열 수 있습니다. 노트북이 준비 상태이면 노트북을 중지하거나 삭제할 수 있습니다. 클러스터를 변경하려면 먼저 노트북을 중지해야 합니다. 준비 상태의 노트북이 장기간 유휴 상태일 경우 자동으로 중지됩니다.

[Starting]

노트북이 생성되어 클러스터에 연결되는 중입니다. 노트북이 시작 중일 때는 노트북 편집기를 열거나 중지하거나 삭제하거나 클러스터를 변경할 수 없습니다.

대기 중

노트북이 생성되어 클러스터와의 상호 작용이 완료되기를 기다리고 있습니다. 클러스터가 리소스를 프로비저닝하거나 다른 요청에 응답하고 있을 수 있습니다. 노트북이 로컬 모드인 상태에서 노트북 편집기를 열 수 있습니다. 클러스터 프로세스를 사용하는 모든 코드가 실행되지 않으며 실패합니다.

[Stopping]

노트북이 종료되고 있거나 노트북이 연결된 클러스터가 종료되고 있습니다. 노트북이 중지 중일 때는 노트북 편집기를 열거나 중지하거나 삭제하거나 클러스터를 변경할 수 없습니다.

중지됨

노트북이 종료되었습니다. 클러스터가 여전히 실행 중일 때는 같은 클러스터에서 노트북을 시작할 수 없습니다. 클러스터를 변경하고 삭제할 수 있습니다.

삭제 중

사용 가능한 클러스터 목록에서 클러스터가 제거되는 중입니다. 노트북 파일(NotebookName.ipynb )이 Amazon S3에 남아 있고 해당 스토리지 요금이 계속 발생합니다.

노트북 편집기 작업

EMR 노트북을 사용하면 Jupyter 또는 JupyterLab 노트북을 콘솔에서 직접 시작할 수 있다는 이점이 있습니다.

EMR Notebooks를 사용할 경우 Amazon EMR 콘솔에서 액세스하는 노트북 편집기는 친숙한 오픈 소스 Jupyter Notebook 편집기 또는 JupyterLab입니다. Amazon EMR 콘솔 내부에서 노트북 편집기가 시작되므로 Amazon EMR 클러스터에서 호스팅되는 노트북을 사용할 때보다 효율적으로 액세스를 구성할 수 있습니다. SSH, 보안 그룹 규칙 및 프록시 구성을 통해 웹에 액세스할 수 있도록 사용자의 클라이언트를 구성할 필요가 없습니다. 사용자에게 충분한 권한이 있으면 Amazon EMR 콘솔에서 노트북 편집기를 열 수 있습니다.

Amazon EMR에서는 한 번에 한 사용자만 EMR 노트북을 열 수 있습니다. 이미 열려 있는 EMR 노트북을 다른 사용자가 열려고 하면 오류가 발생합니다.

중요

Amazon EMR은 각 노트북 편집기 세션에 대해 사전 서명된 URL을 생성합니다. 이 URL은 단기간에만 유효합니다. 노트북 에디터 URL을 공유하지 않도록 하십시오. 공유할 경우 URL 수신자가 해당 권한을 사용하여 URL 수명 동안 노트북을 편집하고 노트북 코드를 실행할 수 있기 때문에 보안 위험이 발생합니다. 다른 사용자가 노트북에 액세스해야 하는 경우, 권한 정책을 통해 사용자에게 권한을 제공하고 EMR Notebooks의 서비스 역할이 Amazon S3 위치에 액세스할 수 있는지 확인합니다. 자세한 정보는 EMR Notebooks 보안 및 액세스 제어EMR Notebooks의 서비스 역할 섹션을 참조하세요.

EMR 노트북의 노트북 편집기를 여는 방법
  1. 상태준비 상태이거나 대기 중인 노트북을 노트북 목록에서 선택합니다.

  2. Open in JupyterLab(JupyterLab에서 열기) 또는 Open in Jupyter(Jupyter에서 열기)를 선택합니다.

    JupyterLab 또는 Jupyter Notebook 편집기에 새 브라우저 탭이 열립니다.

  3. 커널 메뉴에서 Change kernel(커널 변경)을 선택한 후 프로그래밍 언어에 맞는 커널을 선택합니다.

    이제 노트북 편집기에서 코드를 작성하고 실행할 수 있습니다.

노트북 콘텐츠 저장

노트북 편집기에서 작업할 때 노트북 셀 및 출력의 내용이 주기적으로 Amazon S3의 노트북 파일에 자동 저장됩니다. 마지막으로 셀을 편집한 후 변경되지 않은 노트북은 편집기에서 노트북 이름 옆에 (autosaved)(자동 저장)가 표시됩니다. 변경 사항이 아직 저장되지 않았으면 저장되지 않은 변경 사항이 나타납니다.

노트북을 수동으로 저장할 수 있습니다. 파일 메뉴에서 저장 및 체크포인트를 선택하거나 Ctrl+S를 누릅니다. 그러면 Amazon S3의 노트북 폴더 내 체크포인트 폴더에 NotebookName.ipynb 파일이 생성됩니다. 예: s3://MyBucket/MyNotebookFolder/NotebookID/checkpoints/NotebookName.ipynb. 최신 체크포인트 파일만 이 위치에 저장됩니다.

클러스터 변경

노트북 자체의 내용을 변경하지 않고 EMR 노트북이 연결된 클러스터를 변경할 수 있습니다. 중지됨 상태의 노트북만 클러스터를 변경할 수 있습니다.

EMR 노트북의 클러스터를 변경하는 방법
  1. 변경할 노트북이 실행 중이면 노트북 목록에서 해당 노트북을 선택한 후 중지를 선택합니다.

  2. 노트북 상태가 중지됨이면 노트북 목록에서 노트북을 선택한 후 세부 정보 보기를 선택합니다.

  3. Change cluster(클러스터 변경)를 변경합니다.

  4. 노트북을 연결할 활성 클러스터에서 하둡, Spark 및 Livy를 실행 중인 경우 기본값을 그대로 두고 목록에서 클러스터를 선택합니다. 요구 사항에 맞는 클러스터만 나열됩니다.

    -또는-

    Create a cluster(클러스터 생성)를 선택한 후 클러스터 옵션을 선택합니다. 자세한 내용은 클러스터 요구 사항 섹션을 참조하세요.

  5. 보안 그룹의 옵션을 선택한 후 Change cluster and start notebook(클러스터 변경 및 노트북 시작)을 선택합니다.

노트북 및 노트북 파일 삭제

Amazon EMR 콘솔을 사용하여 EMR 노트북을 삭제할 때 사용 가능한 노트북 목록에서 노트북을 삭제합니다. 하지만 노트북 파일은 Amazon S3에 남아 있고 스토리지 요금이 계속 발생합니다.

노트북을 삭제하고 연결된 파일을 제거하려면
  1. https://console.aws.amazon.com/elasticmapreduce/에서 Amazon EMR 콘솔을 엽니다.

  2. 노트북을 선택하고 목록에서 노트북을 선택한 후 세부 정보 보기를 선택합니다.

  3. Notebook location(노트북 위치) 옆의 폴더 아이콘을 선택하고 URL을 복사합니다. URL 패턴은 s3://MyNotebookLocationPath/NotebookID/입니다.

  4. 삭제를 선택합니다.

    목록에서 노트북이 제거되고 노트북 세부 정보가 더 이상 보이지 않습니다.

  5. Amazon Simple Storage Service 사용 설명서에서 S3 버킷에서 폴더를 삭제하려면 어떻게 해야 하나요?의 지침을 따릅니다. 3단계의 버킷과 폴더로 이동합니다.

    -또는-

    AWS CLI가 설치되어 있으면 명령 프롬프트를 열고 이 단락 끝에 있는 명령을 입력합니다. Amazon S3 위치를 위에서 복사한 위치로 바꿉니다. Amazon S3 위치를 삭제할 권한이 있는 사용자의 액세스 키로 AWS CLI가 구성되어 있는지 확인합니다. 자세한 내용은 AWS Command Line Interface 사용 설명서AWS CLI 구성을 참조하세요.

    aws s3 rm s3://MyNotebookLocationPath/NotebookID

노트북 파일 공유

각 EMR 노트북은 NotebookName.ipynb 파일로 Amazon S3에 저장됩니다. 노트북 파일이 EMR Notebooks가 기반한 Jupyter Notebook의 동일한 버전과 호환되면 노트북을 EMR 노트북으로 열 수 있습니다.

다른 사용자의 노트북 파일을 여는 가장 쉬운 방법은 다른 사용자의*.ipynb 파일을 로컬 파일 시스템에 저장한 다음 Jupyter 및 JupyterLab 편집기의 업로드 기능을 사용하는 것입니다.

이 절차를 사용하여 다른 사람이 공유한 EMR 노트북(Jupyter 커뮤니티에 공유된 노트북)을 사용하거나, 아직 노트북 파일을 가지고 있을 때 콘솔에서 삭제한 노트북을 복원할 수 있습니다.

다른 노트북 파일을 EMR 노트북의 기반으로 사용하는 방법
  1. 계속하기 전에 작업에 사용할 노트북의 노트북 편집기를 닫고, EMR 노트북일 경우 중지합니다.

  2. EMR 노트북을 생성하고 이름을 입력합니다. 노트북에 대해 입력한 이름은 바꿀 파일의 이름이 됩니다. 새 파일 이름은 이 파일 이름과 정확히 일치해야 합니다.

  3. 노트북에 대해 선택한 Amazon S3의 위치를 적어 둡니다. 바꾼 파일은 s3://MyNotebookLocation/NotebookID/MyNotebookName.ipynb 패턴과 같이 경로와 파일 이름을 가진 폴더에 있습니다.

  4. 노트북을 중지합니다.

  5. Amazon S3 위치에 있는 이전 노트북 파일을 새 노트북 파일로 바꿉니다. 이때 똑같은 이름을 사용해야 합니다.

    Amazon S3의 다음 AWS CLI 명령은 로컬 시스템에 저장된 EMR 노트북에 대한 SharedNotebook.ipynb 파일을 MyNotebook 이름 및 e-12A3BCDEFJHIJKLMNO45PQRST ID(Amazon S3에 지정된 MyBucket/MyNotebooksFolder에서 생성됨)로 바꿉니다. Amazon S3 콘솔을 사용하는 파일 복사 및 대치에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서에서 객체 업로드, 다운로드 및 관리를 참조하세요.

    aws s3 cp SharedNotebook.ipynb s3://MyBucket/MyNotebooksFolder/-12A3BCDEFJHIJKLMNO45PQRST/MyNotebook.ipynb