서비스에서 메타데이터 내보내기

내보내기는 Dataproc Metastore 서비스에 저장된 메타데이터를 사용하고 Avro 파일 폴더 또는 Cloud Storage 폴더의 MySQL 덤프 파일을 반환합니다. Avro 내보내기의 경우 각 테이블에 대해 <table-name>.avro 파일이 생성됩니다.

이 페이지에서는 로컬 브라우저로 연 Google Cloud Console, Cloud SDK gcloud 명령줄 도구를 사용하거나, Dataproc Metastore API 메서드 services.exportMetadata를 사용하여 기존 Dataproc Metastore 서비스에서 메타데이터를 내보내는 방법을 설명합니다.

시작하기 전에

  • 대부분 gcloud metastore 명령어에는 위치가 필요합니다. 위치를 지정하려면 --location 플래그를 사용하거나 기본 위치를 설정하면 됩니다.

액세스 제어

  • 메타데이터를 내보내려면 metastore.services.export IAM 권한이 포함된 IAM 역할을 부여 받아야 합니다. Dataproc Metastore 특정 역할인 roles/metastore.admin, roles/metastore.editor, roles/metastore.metadataOperator를 사용하여 내보내기 권한을 부여할 수 있습니다.

  • 또한 roles/ownerroles/editor 레거시 역할을 사용하여 사용자 또는 그룹에 내보내기 권한을 부여할 수 있습니다.

  • Dataproc Metastore 서비스 에이전트(service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com)에는 내보내기의 Cloud Storage 버킷 대상에 대해 storage.objects.create 권한이 있어야 합니다.

    • 내보내기를 만드는 사용자에게도 버킷에 대해 storage.objects.create 권한이 있어야 합니다.
  • VPC 서비스 제어를 사용하는 경우 Dataproc Metastore 서비스와 동일한 서비스 경계에 있는 Cloud Storage 버킷으로만 데이터를 내보낼 수 있습니다.

자세한 내용은 Dataproc Metastore IAM 및 액세스 제어를 참조하세요.

서비스에서 메타데이터 내보내기

로컬 브라우저로 연 서비스 세부정보 페이지에서 내보내기 대상을 선택하거나, gcloud 도구를 사용하거나, Dataproc Metastore API 메서드 services.exportMetadata를 실행하여 서비스에서 메타데이터를 내보낼 수 있습니다.

내보내기가 대기 중이면 서비스를 업데이트할 수 없습니다. 내보내기 중에도 서비스 사용은 가능합니다.

Google Cloud Console, gcloud 도구 또는 Dataproc Metastore API를 사용하여 Dataproc Metastore 서비스에서 메타데이터를 내보낼 수 있습니다.

Console

  1. Cloud Console에서 Dataproc Metastore 페이지를 엽니다.

    Cloud Console에서 Dataproc Metastore 열기

  2. Dataproc Metastore 페이지에서 메타데이터를 내보내려는 서비스 이름을 클릭합니다. 서비스 세부정보 페이지가 열립니다.

    서비스 세부정보 페이지
  3. 페이지 상단에서 내보내기 버튼을 클릭합니다. 메타데이터 내보내기 페이지가 열립니다.

  4. 대상을 선택합니다.

  5. 내보내기를 저장할 Cloud Storage URI로 이동하여 선택합니다.

  6. 제출 버튼을 클릭하여 내보내기를 시작합니다.

  7. 서비스 세부정보 페이지로 돌아와 내보내기가 가져오기/내보내기 탭의 내보내기 기록 아래에 표시되는지 확인합니다.

gcloud

  1. 다음 gcloud metastore services export gcs 명령어를 사용하여 서비스에서 메타데이터를 내보냅니다.

    gcloud metastore services export gcs SERVICE  \
        --location=LOCATION \
        --destination-folder=gs://bucket-name/path/to/folder \
        --dump-type=DUMP_TYPE
    

    다음을 바꿉니다.

    • SERVICE: 서비스의 이름입니다.
    • LOCATION: Google Cloud 리전입니다.
    • bucket-name/path/to/folder: Cloud Storage 대상 폴더입니다.
    • DUMP_TYPE: 데이터베이스 덤프 유형입니다. 기본값은 mysql입니다.
  2. 내보내기가 성공했는지 확인합니다.

REST

API 안내에 따라 API 탐색기를 사용하여 서비스로 메타데이터 내보내기를 수행합니다.

내보내기를 수행하면 성공 여부에 관계없이 서비스가 자동으로 활성 상태로 전환됩니다.

서비스의 내보내기 기록을 보려면 Cloud Console의 서비스 세부정보 페이지에 있는 가져오기/내보내기 탭을 참조하세요.

내보내기 주의사항

  • 이전 내보내기 기록은 UI에서 확인할 수 있습니다. 서비스 자체를 삭제하면 해당 서비스의 모든 내보내기 기록이 삭제됩니다.

일반적인 오류

  • Dataproc Metastore 서비스 에이전트(service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com)에는 Avro 또는 MySQL 덤프 파일에 사용되는 Cloud Storage 버킷에 대한 storage.objects.create 권한이 없습니다.

    • 내보내기를 만드는 사용자에게는 버킷에 대한 storage.objects.create 권한이 없습니다.
  • 데이터베이스 파일이 너무 커서 내보내기 프로세스를 완료하는 데 1시간 넘게 걸립니다.

다음 단계