Dataplex Explore를 BigQuery Studio로 마이그레이션

Dataplex는 Explore에 대한 지원을 중단합니다. 이 문서에서는 Dataplex Explore 리소스를 BigQuery Studio로 마이그레이션하는 단계를 설명합니다. Spark SQL 및 JupyterLab 노트북 콘텐츠를 통합 데이터 탐색 플랫폼인 BigQuery Studio로 마이그레이션할 수 있습니다.

지원 중단된 기능

질문이나 설명이 필요하면 Explore팀(dataplex-explore-support@google.com)에 문의하세요.

시작하기 전에

  • Enable the BigQuery and BigQuery Studio APIs.

    Enable the APIs

노트북 콘텐츠

Explore에 서버리스 방식으로 Jupyterlab 인스턴스에서 실행되는 노트북이 있는 경우 마이그레이션한 후 BigQuery Studio에서 동일한 환경을 갖게 됩니다.

BigQuery Studio는 Colab Enterprise 기반의 노트북 인터페이스를 제공하며 JupyterLab 노트북에 비해 여러 가지 이점을 제공합니다. BigQuery Studio에서 서버리스 방식으로 노트북을 작성, 저장, 실행할 수 있습니다. 또한 강력한 GPU 및 TPU, 실시간 공동작업, Google Drive를 통한 공유 및 액세스 제어, 자동 저장, 사전 설치된 라이브러리, 무료 사용 할당량, 기본 제공 위젯 및 확장 프로그램, BigQuery 및 Cloud Storage와 같은 다른 Google 서비스와의 통합을 지원하는 Colab Enterprise 통합 클라우드 환경의 이점을 누릴 수 있습니다.

Spark SQL 콘텐츠

Dataplex Discovery는 BigQuery 및 Dataproc Metastore에서 검색된 테이블을 등록합니다. 테이블이 등록된 위치에 따라 다음 마이그레이션 옵션 중 하나를 사용하세요.

  • 테이블이 Dataproc Metastore와 BigQuery에 모두 등록되는 경우: Spark SQL 스크립트가 Dataproc Metastore를 통해 Dataplex에서 검색된 테이블과 상호작용하는 경우 BigQuery에서 해당 테이블을 직접 쿼리할 수 있습니다.
  • 테이블이 Dataproc Metastore에만 등록되는 경우: Spark SQL 스크립트가 BigQuery에서 사용할 수 없는 테이블과 상호작용하는 경우 Dataproc Metastore와 BigQuery Studio 통합을 설정해야 합니다. Dataproc Metastore는 Thrift와 gRPC의 두 가지 엔드포인트 유형을 제공합니다. 엔드포인트 프로토콜을 찾는 방법에 대한 자세한 내용은 엔드포인트 URI 값 찾기를 참조하세요. 그런 후 다음 섹션의 단계를 수행하여 BigQuery Studio 통합을 설정합니다.

Thrift 기반 Dataproc Metastore에 연결

Thrift 기반 엔드포인트는 thrift://로 시작합니다. Thrift 기반 Dataproc Metastore에 연결하려면 다음 샘플과 같이 SparkSession 구성에 Thrift 엔드포인트 URI를 전달합니다.

from pyspark.sql import SparkSession

spark = (
    SparkSession.builder.appName("Dataproc Metastore Connection")
    .config(
        "spark.hadoop.hive.metastore.uris",
        "thrift://IP_ADDRESS:9083",
    )
    .enableHiveSupport()
    .getOrCreate()
)

gRPC 기반 엔드포인트에 연결

gRPC 기반 엔드포인트는 https://로 시작합니다. Spark는 Thrift 기반 이외의 엔드포인트에 직접 연결할 수 없습니다. 대신 Thrift에서 gRPC로 요청을 변환하는 프록시 서비스를 실행해야 합니다. gRPC 기반 Dataproc Metastore 서비스에 연결하려면 BigQuery Studio 노트북에서 다음 단계를 수행합니다.

  1. 노트북에서 다음 명령어를 실행하여 노트북 런타임에 Hive Metastore(HMS) 프록시 JAR 파일의 최신 버전을 다운로드합니다.

    # Download the latest HMS Proxy jar file.
    !gcloud storage cp gs://metastore-init-actions/metastore-grpc-proxy/hms-proxy-3.1.2-v0.0.46.jar
    
  2. HMS 프록시를 시작합니다.

    %%bash
    # Metastore store URI including the port number but without "https://" prefix.
    METASTORE_URI=METASTORE_URI
    # HMS Proxy JAR path.
    JAR_PATH=JAR_PATH
    # DPMS Supported Hive Version.
    HIVE_VERSION=3.1.2
    
    # Start the HMS Proxy.
    java -jar ${JAR_PATH} --conf proxy.mode=thrift proxy.uri=${METASTORE_URI} thrift.listening.port=9083 hive.version=${HIVE_VERSION} google.credentials.applicationdefault.enabled=true proxy.grpc.ssl.upstream.enabled=true > /tmp/hms.logs 2>&1 &
    
  3. Spark 세션을 로컬 HMS 프록시에 연결합니다.

    from pyspark.sql import SparkSession
    
    spark = (
      SparkSession.builder.appName("Dataproc Metastore Connection")
      .config(
          "spark.hadoop.hive.metastore.uris",
          "thrift://localhost:9083",
      )
      .enableHiveSupport()
      .getOrCreate()
    )
    

세션 리소스

세션 리소스는 사용자별 활성 세션을 나타냅니다. 세션 리소스 마이그레이션은 지원되지 않습니다.

환경 리소스

환경에서는 Spark SQL 쿼리 및 노트북이 레이크 내에서 실행될 수 있도록 서버리스 컴퓨팅 리소스를 제공합니다. BigQuery Studio는 SQL 쿼리 및 노트북을 실행하기 위한 서버리스 환경을 제공하므로 환경 리소스의 마이그레이션이 지원되지 않습니다.

콘텐츠 리소스로 태스크 예약

BigQuery Studio에서 쿼리를 예약할 수 있습니다.