Dataproc Metastore 서비스 배포
이 페이지에서는 Dataproc Metastore 서비스를 만들고 Dataproc 클러스터에서 이 서비스에 연결하는 방법을 보여줍니다. 그런 다음 클러스터에 SSH로 연결하고 Apache Hive 인스턴스를 시작하고 몇 가지 기본 쿼리를 실행합니다.
Dataproc Metastore는 기술 메타데이터 관리를 위해 오픈소스 빅데이터 생태계에서 확립된 표준인 완전 호환 Hive Metastore(HMS)를 제공합니다. 이 서비스를 통해 데이터 레이크의 메타데이터를 관리할 수 있으며 사용 중인 다양한 데이터 처리 도구 간의 상호 운용성을 확보할 수 있습니다.
Google Cloud 콘솔에서 이 태스크에 대한 단계별 안내를 직접 수행하려면 둘러보기를 클릭합니다.
시작하기 전에
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Dataproc Metastore, Dataproc APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Dataproc Metastore, Dataproc APIs.
필요한 역할
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 서비스를 만드는 방법을 보여줍니다.
콘솔
Google Cloud 콘솔에서 Dataproc Metastore 페이지로 이동합니다.
탐색 메뉴에서 +만들기를 클릭합니다.
Metastore 서비스 만들기 대화상자가 열립니다.
Dataproc Metastore 2를 선택합니다.
서비스 이름 필드에
example-service
를 입력합니다.데이터 위치 필드에서
us-central1
을 선택합니다.남은 서비스 구성 옵션의 경우 제공된 기본값을 사용합니다.
서비스를 만들고 시작하려면 제출을 클릭합니다.
새 메타스토어 서비스가 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로 사용됩니다. 여기에서 만든 클러스터에는 기본 제공된 설정이 사용됩니다.
콘솔
Google Cloud 콘솔에서 Dataproc 클러스터 페이지로 이동합니다.
탐색 메뉴에서 +클러스터 만들기를 선택합니다.
클러스터 만들기 대화상자가 열리고 선택할 수 있는 여러 인프라가 표시됩니다.
Compute Engine의 클러스터 행에서 만들기를 선택합니다.
Compute Engine에서 Dataproc 클러스터 만들기 페이지가 열립니다.
클러스터 이름 필드에
example-cluster
를 입력합니다.리전 및 영역 메뉴에서
us-central1
을 선택합니다.남은 클러스터 설정 옵션에 제공된 기본값을 사용합니다.
탐색 메뉴에서 클러스터 맞춤설정(선택사항) 탭을 클릭합니다.
Dataproc Metastore 섹션에서 앞에서 만든 메타스토어 서비스를 선택합니다.
이 튜토리얼을 그대로 수행한 경우에는 이름이
example-service
입니다.남은 서비스 구성 옵션의 경우 제공된 기본값을 사용합니다.
만들기를 클릭하여 클러스터를 만듭니다.
새 클러스터가 클러스터 목록에 표시됩니다. 클러스터를 사용할 준비가 될 때까지 클러스터 상태가 프로비저닝으로 표시됩니다. 준비되면 상태가 활성으로 변경됩니다. 클러스터를 프로비저닝하는 데 몇 분 정도 걸릴 수 있습니다.
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 세션을 실행합니다.
- Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
- 가상 머신 인스턴스 목록에서
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 세션에서 다음 명령어를 실행합니다.
Hive를 시작합니다.
hive
myDatabase
라는 데이터베이스를 만듭니다.create database myDatabase;
생성한 데이터베이스를 표시합니다.
show databases;
생성한 데이터베이스를 사용합니다.
use myDatabase;
myTable
이라는 테이블을 만듭니다.create table myTable(id int,name string);
myDatabase
아래의 테이블을 나열합니다.show tables;
자신이 만든 테이블의 스키마를 설명합니다.
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 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.
- In the Google Cloud console, go to the Manage resources page.
- If the project that you plan to delete is attached to an organization, expand the Organization list in the Name column.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
또는 이 튜토리얼에서 사용된 리소스를 삭제할 수 있습니다.
Dataproc Metastore 서비스를 삭제합니다.
콘솔
Google Cloud 콘솔에서 Dataproc Metastore 페이지를 엽니다.
서비스 목록에서
example-service
를 선택합니다.탐색 메뉴에서 삭제를 클릭합니다.
서비스 삭제 대화상자가 열립니다.
대화상자에서 삭제를 클릭합니다.
서비스가 서비스 목록에 더 이상 표시되지 않습니다.
gcloud CLI
서비스를 삭제하려면 다음
gcloud metastore services delete
명령어를 실행합니다.gcloud metastore services delete example-service \ --location=us-central1
REST
API 안내에 따라 API 탐색기를 사용하여 서비스를 삭제합니다.
모든 삭제가 즉시 수행됩니다.
Dataproc Metastore 서비스에 대해 Cloud Storage 버킷을 삭제합니다.
Dataproc Metastore 서비스를 사용한 Dataproc 클러스터를 삭제합니다.