Data Exploration Workbench 사용

Dataplex(Explore)의 Data Exploration Workbench를 사용하면 클릭 한 번으로 Spark SQL 스크립트 및 Jupyter 노트북에 액세스하여 완전 관리형 데이터를 대화형으로 쿼리할 수 있습니다. 탐색에서는 기본 제공되는 코딩 애셋 게시, 공유, 검색 기능을 사용하여 여러 팀에서 공동작업할 수 있습니다.

탐색에서는 사용자 인증 정보를 사용하여 Spark SQL 스크립트와 노트북을 실행하는 데 필요한 서버리스 인프라를 프로비저닝, 확장, 관리합니다. Workbench에서 서버리스 예약으로 작업을 운영할 수 있습니다.

이 문서에서는 Dataplex에서 탐색 기능을 사용하는 방법을 설명합니다.

비용

Dataplex는 프리미엄 처리 등급의 탐색을 제공합니다.

용어

이 문서에서는 다음 용어가 사용됩니다.

환경

환경에서는 Spark SQL 쿼리 및 노트북이 레이크 내에서 실행될 수 있도록 서버리스 컴퓨팅 리소스를 제공합니다. Dataplex 관리자는 환경을 만들고 관리합니다.

관리자는 한 명 이상의 사용자에게 개발자 역할이나 연관된 IAM 권한을 부여하여 해당 사용자가 구성된 환경에서 쿼리와 노트북을 실행하도록 승인할 수 있습니다.

세션

승인된 사용자가 쿼리 및 노트북을 실행할 환경을 선택하면 Dataplex가 지정된 환경 구성을 사용하여 사용자별 활성 세션을 만듭니다. 환경 구성에 따라 세션이 사용되지 않으면 자동으로 종료됩니다.

사용자당 새로운 세션을 시작하려면 몇 분 정도 걸립니다. 세션이 시작되면 동일한 사용자에 대한 후속 쿼리 및 노트북이 실행됩니다. 세션은 최대 10시간 동안 활성화됩니다.

환경의 경우 Dataplex는 Spark SQL 스크립트와 Jupyter 노트북 모두에서 공유되는 사용자당 하나의 세션만 만듭니다.

Dataplex는 세션 내에서 사용자 인증 정보를 사용하여 Cloud Storage 및 BigQuery에서 데이터를 쿼리하는 등의 작업을 실행합니다.

노드

노드는 환경 구성에서 컴퓨팅 용량을 지정합니다. 노드 1개는 vCPU 4개 및 16GB RAM에 해당하는 데이터 컴퓨팅 단위(DCU) 4개에 매핑됩니다.

기본 환경

ID가 default인 레이크당 하나의 기본 환경을 만들 수 있습니다. 기본 환경은 기본 구성을 사용해야 합니다. 기본 구성은 다음과 같이 구성됩니다.

  • 1개 노드의 컴퓨팅 용량
  • 기본 디스크 크기 100GB
  • 10분의 유휴 시간으로 설정된 자동 세션 종료(자동 종료 시간)
  • 기본적으로 true로 설정되는 sessionSpec.enableFastStartup 매개변수. 이 매개변수가 true로 설정되면 Dataplex가 이 환경의 세션을 사전 프로비저닝하여 이를 즉시 사용할 수 있기 때문에 최초 세션 시작 시간이 줄어듭니다.
  • 빠른 시작 세션은 단일 노드 세션으로서 Dataplex에서 일반 세션과 마찬가지로 프리미엄 처리 SKU 요금을 청구합니다. 빠른 시작을 위해 최대 1개의 상시 세션을 사용할 수 있으며, 이 경우 사용하지 않더라도 비용이 발생합니다. Dataplex는 이러한 사전 생성된 세션을 10시간 동안 활성 상태로 유지하고 종료되면 새 세션을 만듭니다.

환경을 명시적으로 선택하지 않고 미리 기본 환경을 설정한 경우 Dataplex가 기본 환경을 사용하여 세션을 만듭니다.

SQL 스크립트

SQL 스크립트는 Dataplex 레이크 내에 콘텐츠로 저장되는 Spark SQL 스크립트입니다. 스크립트를 레이크 내에 저장하고 다른 주 구성원과 공유할 수 있습니다. 또한 Dataplex에서 일괄 서버리스 Spark 작업으로 실행되도록 예약할 수 있습니다. Dataplex는 Cloud Storage 및 BigQuery의 데이터에 매핑되는 테이블에 대한 즉각적인 Spark SQL 액세스를 지원합니다.

노트북

Python 3 노트북은 Dataplex 레이크에 콘텐츠로 저장하는 Jupyter 노트북입니다. 노트북을 레이크 내의 콘텐츠로 저장하고 다른 주 구성원과 공유하거나 Dataplex에서 Dataproc 서버리스 Spark 일괄 작업으로 실행되도록 예약할 수 있습니다.

BigQuery의 데이터인 경우 %%bigquery 매직 명령어를 사용하지 않고 Spark를 통해 직접 BigQuery 테이블에 액세스할 수 있습니다.

시작하기 전에

시작하기 전에 레이크를 Dataproc Metastore에 연결하고 필요한 역할을 부여하세요.

레이크를 Dataproc Metastore(DPMS)에 연결

탐색 기능을 사용하려면 다음을 수행합니다.

  • 버전 3.1.2 이상의 gRPC 지원 Dataproc Metastore(DPMS) 인스턴스를 Dataplex 레이크와 연결합니다.
  • Dataproc Metastore 및 레이크에 매핑된 환경이 있는지 확인합니다.

Spark에서 메타데이터에 액세스하기 위해 Dataplex에 Dataproc Metastore를 설정하는 방법을 알아봅니다.

필요한 역할

수행하려는 작업에 따라 다음 IAM 역할이 모두 필요합니다. 레이크의 모든 환경은 레이크 수준에서 부여된 권한을 상속합니다.

Dataplex IAM 역할:

  • Dataplex 뷰어
  • Dataplex 개발자
  • Dataplex 메타데이터 리더
  • Dataplex 데이터 리더

추가 역할:

로깅

탐색의 사용 방법을 이해하려면 다음 문서를 참조하세요.

알려진 제한사항

이 섹션에서는 Explore의 알려진 제한사항을 설명합니다.

  • 다음 리전의 레이크에서 Explore를 사용할 수 있습니다.

    • asia-northeast1
    • asia-southeast1
    • europe-west1
    • europe-west2
    • us-central1
    • us-east1
    • us-west1
  • 프로젝트의 리전당 최대 10개의 환경을 사용할 수 있습니다. 할당량 한도 상향에 대한 자세한 내용은 할당량 작업을 참조하세요.

  • 노드가 최대 150개인 환경을 만들 수 있습니다. 개별 사용자 세션의 세션 길이는 10시간으로 제한됩니다.

  • Spark SQL 스크립트는 지정된 레이크 내의 데이터만 쿼리할 수 있습니다. 다른 레이크의 데이터를 쿼리하려면 해당 레이크로 전환하고 해당 레이크 내의 환경을 선택해야 합니다.

  • 프로젝트를 삭제 취소해도 Dataplex에서 SQL 스크립트 또는 노트북과 같은 콘텐츠 리소스를 복원하지 않습니다. 탐색 콘텐츠 리소스가 포함된 프로젝트를 삭제할 때 주의하여 진행합니다.

  • 노트북을 예약할 때 환경에 커스텀 패키지가 있으면 gcloud CLI로만 노트북을 예약할 수 있습니다. 자세한 내용은 커스텀 패키지를 사용하여 노트북 예약을 참조하세요.

  • 스크립트와 노트북을 삭제하기 전에 환경을 삭제하면 탐색 페이지에 액세스할 수 없습니다. 따라서 탐색에서 환경을 삭제하기 전에 스크립트와 노트북을 삭제해야 합니다.

  • 탐색 세션에서는 Hadoop 분산 파일 시스템(HDFS)을 지원하지 않습니다. 세션이 종료되면 삭제되므로 탐색 세션에 사용자 데이터를 저장하지 마세요.

  • 노트북 또는 SQL 스크립트의 최대 크기 한도는 1MB입니다.

환경 만들기

  1. Google Cloud 콘솔에서 Dataplex 레이크 관리 페이지로 이동합니다.

    Dataplex로 이동

  2. 환경을 만들려는 Dataplex 레이크를 선택합니다.

  3. 환경 탭을 클릭합니다.

  4. 환경 만들기를 클릭합니다.

  5. 표시 이름 필드에 환경 이름을 입력합니다.

  6. 환경 ID에 고유 ID를 입력합니다.

  7. (선택사항) 새 환경에 대한 설명을 입력합니다.

  8. 컴퓨팅 구성 창에서 다음을 지정합니다.

    1. 노드 수: 이 환경에 생성된 사용자 세션에 대해 프로비저닝할 노드 수입니다.
    2. 최대 노드 수: Dataplex가 이 환경과 연결된 사용자 세션에서 자동 확장할 수 있는 최대 노드 수입니다.
    3. 기본 디스크 크기: 각 프로비저닝된 노드와 연결된 디스크 크기입니다.
    4. 자동 종료 시간: Dataplex가 이 환경과 연결된 사용자 세션을 자동으로 종료하기 전까지의 유휴 시간입니다. 최소 10분, 최대 60분으로 설정할 수 있습니다.
  9. 소프트웨어 패키지(선택사항) 창에서 이 환경에 프로비저닝된 사용자 세션에 설치할 추가 Python 패키지, JAR 파일, Spark 속성을 지정할 수 있습니다.

    환경을 만들고 Java JAR 또는 Python 패키지의 Cloud Storage 경로를 제공할 때 Dataplex가 JAR 또는 패키지를 설치할 수 있도록 Cloud Storage 파일에 액세스하는 데 필요한 권한이 Cloud Dataplex 서비스 에이전트에 있는지 확인합니다.

  10. 만들기를 클릭합니다.

참고

  • 노드 1개는 vCPU 4개 및 16GB RAM에 해당하는 데이터 컴퓨팅 단위(DCU) 4개에 매핑됩니다.

  • 노드가 1개이거나 3개 이상인 환경을 만들 수 있습니다.

  • 레이크 관리자는 사용자가 사전에 지정된 구성을 사용하여 워크로드를 실행할 수 있도록 환경을 미리 설정할 수 있습니다.

  • 환경을 여러 사용자와 공유할 수 있지만 Dataplex는 환경 구성을 사용하여 사용자별 별도의 세션을 만듭니다.

기본 환경 만들기

기본 환경의 구성 요구사항을 참조하세요.

콘솔

  1. Google Cloud 콘솔에서 Dataplex 열기

    Dataplex로 이동

  2. 관리 뷰로 이동합니다.

  3. Dataplex 레이크를 선택합니다.

  4. 환경 탭을 클릭합니다.

  5. 기본 환경 만들기를 클릭합니다.

gcloud

빠른 시작이 사용 설정된 기본 환경을 만들려면 다음 명령어를 실행합니다.

gcloud dataplex environments create default --project=PROJECT_ID --lake=LAKE_ID --location=REGION--os-image-version=latest --session-enable-fast-startup

Spark SQL Workbench를 사용한 데이터 탐색

BigQuery 및 Cloud Storage 데이터를 탐색하려면 Spark SQL 스크립트를 사용합니다.

스크립트 만들기 및 저장

  1. Google Cloud 콘솔에서 Dataplex 탐색 페이지로 이동합니다.

  2. 탐색 뷰에서 탐색하려는 데이터 애셋이 포함된 레이크를 선택합니다.

  3. 리소스 브라우저에서 레이크를 펼칩니다. 그러면 다음 폴더가 표시됩니다.

    • 데이터: Hudi, Iceberg, Delta 레이크 테이블을 비롯한 레이크에 연결된 DPMS 인스턴스의 모든 데이터베이스와 테이블을 포함합니다.
    • 노트북: 선택한 레이크에서 생성된 모든 노트북이 포함됩니다.
    • Spark SQL 스크립트: 선택한 레이크에 생성된 모든 Spark SQL 스크립트를 포함합니다.
  4. 데이터를 펼치고 필요한 데이터베이스 및 테이블을 선택합니다.

  5. 샘플 쿼리를 사용하려면 쿼리를 클릭합니다. SQL Workbench는 새 탭에 샘플 쿼리를 자동으로 채웁니다.

  6. 새 스크립트를 만들려면 Spark SQL 편집기에서 새 스크립트를 클릭하고 쿼리를 입력합니다.

  7. 스크립트를 저장하려면 저장 > 스크립트 저장을 선택합니다.

스크립트 실행

  1. Spark SQL 편집기에서 실행할 쿼리가 있는 탭을 클릭합니다.

  2. 환경 선택을 클릭합니다. 쿼리를 실행할 환경을 선택합니다. 환경을 선택하지 않으면 Dataplex가 기본 환경을 사용하여 사용자별 세션을 만듭니다.

    세미콜론으로 쿼리를 구분하여 동일한 스크립트에서 여러 Spark SQL 쿼리를 실행할 수 있습니다.

  3. 실행을 클릭합니다.

  4. 드롭다운 목록을 사용하여 스크립트에서 각 쿼리의 쿼리 기록 결과를 봅니다.

스크립트 예약

Dataplex 태스크로 실행되도록 스크립트를 예약할 수 있습니다. 자세한 내용은 SQL 스크립트 일정 만들기 및 관리를 참조하세요.

스크립트 공유하기

IAM 권한을 사용하여 조직의 다른 사용자와 스크립트를 공유할 수 있습니다.

  1. 탐색 보기에서 공유할 Spark SQL 스크립트를 클릭합니다.

  2. 더보기 메뉴에서 공유를 클릭합니다.

  3. 권한을 검토합니다. 공유 스크립트에 대한 뷰어, 편집자, 관리자 권한을 추가 또는 삭제합니다.

스크립트를 공유한 후에는 레이크 수준의 보기 또는 수정 권한이 있는 사용자가 해당 레이크로 이동하여 공유 스크립트를 작업할 수 있습니다.

Spark SQL을 사용한 BigQuery 및 Cloud Storage 데이터 탐색

영역에 애셋으로 추가되는 모든 BigQuery 데이터 세트의 경우 Dataplex에서 해당 데이터 세트의 모든 테이블에 대한 직접 Spark SQL 액세스를 지원합니다. Spark SQL 스크립트 또는 노트북을 사용하여 Dataplex의 데이터를 쿼리할 수 있습니다. 예를 들면 다음과 같습니다.

 select * from ZONE_ID.TABLE_ID

애셋이 동일한 영역의 Cloud Storage 버킷에 매핑되는 경우 Dataplex는 Spark를 사용하여 쿼리할 수 있는 통합 테이블 목록을 제공합니다.

노트북을 사용한 데이터 탐색

이 섹션에서는 노트북을 생성, 예약, 공유, 가져오고 내보내는 방법을 설명합니다.

노트북 만들기 및 저장

  1. Google Cloud 콘솔에서 Dataplex 탐색 페이지로 이동합니다.

  2. 탐색 뷰에서 레이크를 선택합니다.

  3. 레이크를 펼치고 노트북 폴더를 클릭합니다.

  4. 새 노트북을 클릭합니다.

  5. 노트북 경로 필드에 노트북 이름을 입력합니다.

  6. (선택사항) 설명 필드에 새 노트북에 대한 설명을 입력합니다.

  7. (선택사항) 라벨을 추가합니다.

  8. 노트북 만들기를 클릭합니다. 이제 노트북이 생성되었습니다.

  9. 생성된 노트북을 열려면 노트북 열기를 클릭합니다.

  10. 노트북을 만들거나 열 때 Dataplex에서 사용자 세션을 만들 환경을 선택합니다. 신뢰할 수 있는 패키지가 있는 환경을 선택해야 합니다.

    환경을 선택하지 않으면 Dataplex에서 기본 환경을 사용합니다. 환경이 없으면 하나 만듭니다. 자세한 내용은 환경 만들기를 참조하세요.

    이제 Python 코드를 작성하고 노트북 게시물 탐색을 저장하여 데이터를 탐색할 수 있습니다. 나중에 생성된 노트북을 미리 보고 세션을 만들고 코드를 실행하지 않고도 출력을 검사할 수 있습니다.

노트북 예약

Dataplex 태스크로 실행되도록 노트북을 예약할 수 있습니다. 자세한 내용은 노트북 일정 만들기 및 관리를 참조하세요.

노트북 공유

IAM 권한을 사용하여 조직의 다른 사용자와 노트북을 공유할 수 있습니다.

  1. 탐색 뷰에서 노트북 폴더를 클릭합니다.

  2. 공유할 Jupyter 노트북을 선택합니다.

  3. 공유를 클릭합니다.

  4. 권한을 검토합니다. 이 노트북에 대한 뷰어, 편집자, 관리자 권한을 추가 또는 삭제합니다.

    노트북을 공유한 후에는 레이크 수준의 보기 또는 수정 권한이 있는 사용자가 해당 레이크로 이동하여 공유 노트북을 작업할 수 있습니다.

노트북 가져오기

Cloud Storage 버킷에서 노트북을 가져올 수 있습니다.

  1. 탐색 뷰에서 노트북 폴더를 클릭합니다.

  2. 가져오기를 클릭합니다.

  3. 가져오려는 노트북이 포함된 Cloud Storage 버킷으로 이동합니다.

  4. 노트북을 선택하고 이름을 입력한 후 가져오기를 클릭합니다.

    가져온 노트북이 노트북 폴더에 생성됩니다. 가져온 노트북을 열고 수정, 공유, 예약할 수 있습니다.

노트북 내보내기

IAM 권한이 있는 조직의 다른 사용자가 사용할 수 있도록 노트북을 Cloud Storage 버킷으로 내보낼 수 있습니다.

  1. 탐색 뷰에서 노트북 폴더를 클릭합니다.

  2. 내보내려는 노트북을 표시합니다.

  3. 메뉴를 클릭하고 내보내기를 클릭합니다.

  4. 노트북을 내보낼 Cloud Storage 경로를 입력합니다.

  5. 노트북 내보내기를 클릭합니다.

다음 단계