Dataproc Metastore 서비스 배포

이 페이지에서는 Dataproc Metastore 서비스를 만들고 Dataproc 클러스터에서 이 서비스에 연결하는 방법을 보여줍니다. 클러스터에 SSH로 연결하고 Apache Hive 인스턴스를 실행한 후 몇 가지 기본 쿼리를 실행합니다.

Dataproc Metastore는 기술 메타데이터 관리를 위해 오픈소스 빅데이터 생태계에서 확립된 표준인 완전 호환 Hive Metastore(HMS)를 제공합니다. 이 서비스를 통해 데이터 레이크의 메타데이터를 관리할 수 있으며 사용 중인 다양한 데이터 처리 도구 간의 상호 운용성을 확보할 수 있습니다.


Google Cloud 콘솔에서 이 태스크에 대한 단계별 안내를 직접 수행하려면 둘러보기를 클릭합니다.

둘러보기


시작하기 전에

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  3. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  4. API Dataproc Metastore, Dataproc 사용 설정

    API 사용 설정

  5. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  6. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  7. API Dataproc Metastore, Dataproc 사용 설정

    API 사용 설정

필요한 역할

Dataproc Metastore 및 Dataproc 클러스터를 만드는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

  • IAM 권한 설정을 포함하여 모든 Dataproc Metastore 리소스에 대해 전체 액세스 권한을 부여하려면 사용자 계정 또는 서비스 계정에 대한 roles/metastore.admin 역할이 필요합니다.
  • Dataproc Metastore 리소스에 대해 전체 제어 권한을 부여하려면 사용자 계정 또는 서비스 계정에 대한 Dataproc Metastore 편집자 역할(roles/metastore.editor)이 필요합니다.
  • Dataproc 클러스터를 만들려면 서비스 계정에 대한 roles/dataproc.worker 역할이 필요합니다.

역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.

이러한 사전 정의된 역할에는 Dataproc Metastore 및 Dataproc 클러스터를 만드는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 확장하세요.

필수 권한

Dataproc Metastore 및 Dataproc 클러스터를 만들려면 다음 권한이 필요합니다.

  • Dataproc Metastore 서비스를 만들려면 사용자 계정 또는 서비스 계정에 대한 metastore.services.create 권한이 필요합니다.
  • Dataproc 클러스터를 만들려면 서비스 계정에 대한 Dataproc worker (roles/dataproc.worker) 권한이 필요합니다.

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

특정 Dataproc Metastore 역할 및 권한에 대한 자세한 내용은 Dataproc Metastore IAM 개요를 참조하세요.

Dataproc Metastore 서비스 만들기

다음 안내에서는 제공된 기본 설정을 사용하여 기본 Dataproc Metastore 서비스를 만드는 방법을 보여줍니다.

콘솔

  1. Google Cloud 콘솔에서 Dataproc Metastore 페이지로 이동합니다.

    Dataproc Metastore로 이동

  2. 탐색 메뉴에서 +만들기를 클릭합니다.

    Metastore 서비스 만들기 대화상자가 열립니다.

  3. Dataproc Metastore 2를 선택합니다.

  4. 서비스 이름 필드에 example-service를 입력합니다.

  5. 데이터 위치 필드에서 us-central1을 선택합니다.

  6. 남은 서비스 구성 옵션의 경우 제공된 기본값을 사용합니다.

  7. 서비스를 만들고 시작하려면 제출을 클릭합니다.

새 메타스토어 서비스가 Dataproc Metastore 페이지에 나타납니다. 서비스 사용이 준비될 때까지 상태가 생성 중으로 표시됩니다. 준비되면 상태가 활성으로 변경됩니다. 서비스를 프로비저닝하는 데 몇 분 정도 걸릴 수 있습니다.

다음 스크린샷은 제공된 기본값을 사용하는 서비스 만들기 페이지 예시를 보여줍니다.

서비스 만들기 페이지

gcloud CLI

제공된 기본값을 사용하여 Metastore 서비스를 만들려면 다음 gcloud metastore services create 명령어를 실행합니다.

 gcloud metastore services create example-service \
     --location=us-central1 \
     --instance-size=MEDIUM

이 명령어는 기본 리전(us-central1)에 기본 인스턴스 크기(MEDIUM)로 example-service라는 서비스를 만듭니다.

REST

API 안내에 따라 API 탐색기를 사용하여 서비스를 만듭니다.

Dataproc 클러스터를 만들고 Dataproc Metastore에 연결

그런 다음 Dataproc 클러스터를 만들고 클러스터에서 메타스토어에 연결합니다. 그러면 클러스터에서 메타스토어 서비스가 HMS로 사용됩니다. 여기에서 만든 클러스터에는 기본 제공된 설정이 사용됩니다.

콘솔

  1. Google Cloud 콘솔에서 Dataproc 클러스터 페이지로 이동합니다.

    Dataproc 클러스터로 이동

  2. 탐색 메뉴에서 +클러스터 만들기를 선택합니다.

    클러스터 만들기 대화상자가 열리고 선택할 수 있는 여러 인프라가 표시됩니다.

  3. Compute Engine의 클러스터 행에서 만들기를 선택합니다.

    Compute Engine에서 Dataproc 클러스터 만들기 페이지가 열립니다.

  4. 클러스터 이름 필드에 example-cluster를 입력합니다.

  5. 리전영역 메뉴에서 us-central1을 선택합니다.

  6. 남은 클러스터 설정 옵션에 제공된 기본값을 사용합니다.

  7. 탐색 메뉴에서 클러스터 맞춤설정(선택사항) 탭을 클릭합니다.

  8. Dataproc Metastore 섹션에서 앞에서 만든 메타스토어 서비스를 선택합니다.

    이 튜토리얼을 그대로 수행한 경우에는 이름이 example-service입니다.

  9. 남은 서비스 구성 옵션의 경우 제공된 기본값을 사용합니다.

  10. 만들기를 클릭하여 클러스터를 만듭니다.

    새 클러스터가 클러스터 목록에 표시됩니다. 클러스터를 사용할 준비가 될 때까지 클러스터 상태가 프로비저닝으로 표시됩니다. 준비되면 상태가 활성으로 변경됩니다. 클러스터를 프로비저닝하는 데 몇 분 정도 걸릴 수 있습니다.

gcloud CLI

제공된 기본 설정을 사용하여 클러스터를 만들려면 다음 gcloud dataproc clusters create 명령어를 실행합니다.

 gcloud dataproc clusters create example-cluster \
    --dataproc-metastore=projects/PROJECT_ID/locations/us-central1/services/example-service \
    --region=us-central1

PROJECT_ID를 Dataproc Metastore 서비스를 만든 프로젝트 ID로 바꿉니다.

REST

API 안내에 따라 API 탐색기를 사용하여 클러스터를 만듭니다.

Dataproc 클러스터로 Apache Hive에 연결

다음 단계에서는 Apache Hive에서 몇 가지 예시 명령어를 실행하여 데이터베이스와 테이블을 만드는 방법을 보여줍니다.

그런 다음 Dataproc 클러스터에서 SSH 세션을 열고 Hive 세션을 실행합니다.

  1. Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
  2. 가상 머신 인스턴스 목록에서 example-cluster 옆에 있는 SSH를 클릭합니다.

노드의 홈 디렉터리에 다음과 비슷한 출력이 표시된 브라우저 창이 열립니다.

Connected, host fingerprint: ssh-rsa ...
Linux cluster-1-m 3.16.0-0.bpo.4-amd64 ...
...
example-cluster@cluster-1-m:~$

Hive를 시작하고 데이터베이스와 테이블을 만들려면 SSH 세션에서 다음 명령어를 실행합니다.

  1. Hive를 시작합니다.

    hive
    
  2. myDatabase라는 데이터베이스를 만듭니다.

    create database myDatabase;
    
  3. 생성한 데이터베이스를 표시합니다.

    show databases;
    
  4. 생성한 데이터베이스를 사용합니다.

    use myDatabase;
    
  5. myTable이라는 테이블을 만듭니다.

    create table myTable(id int,name string);
    
  6. myDatabase 아래의 테이블을 나열합니다.

    show tables;
    
  7. 생성한 테이블의 스키마를 설명합니다.

    desc MyTable;
    

이러한 명령어를 실행하면 다음과 비슷한 출력이 표시됩니다.

$hive

hive> show databases;
OK
default
hive> create database myDatabase;
OK
hive> use myDatabase;
OK
hive> create table myTable(id int,name string);
OK
hive> show tables;
OK
myTable
hive> desc myTable;
OK
id                      int
name                    string

삭제

이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.

  1. Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.

    리소스 관리로 이동

  2. 삭제하려는 프로젝트가 조직에 연결되어 있으면 이름 열에서 조직 목록을 확장합니다.
  3. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
  4. 대화상자에서 프로젝트 ID를 입력한 후 종료를 클릭하여 프로젝트를 삭제합니다.

또는 이 튜토리얼에서 사용된 리소스를 삭제할 수 있습니다.

  1. Dataproc Metastore 서비스를 삭제합니다.

    콘솔

    1. Google Cloud 콘솔에서 Dataproc Metastore 페이지를 엽니다.

      Dataproc Metastore로 이동

    2. 서비스 목록에서 example-service를 선택합니다.

    3. 탐색 메뉴에서 삭제를 클릭합니다.

      서비스 삭제 대화상자가 열립니다.

    4. 대화상자에서 삭제를 클릭합니다.

      서비스가 서비스 목록에 더 이상 표시되지 않습니다.

    gcloud CLI

    서비스를 삭제하려면 다음 gcloud metastore services delete 명령어를 실행합니다.

     gcloud metastore services delete example-service \
         --location=us-central1

    REST

    API 안내에 따라 API 탐색기를 사용하여 서비스를 삭제합니다.

    모든 삭제가 즉시 수행됩니다.

  2. Dataproc Metastore 서비스에 대해 Cloud Storage 버킷을 삭제합니다.

  3. Dataproc Metastore 서비스를 사용한 Dataproc 클러스터를 삭제합니다.

다음 단계