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 では、引き続きサーバーレスでノートブックを作成、保存、実行することが可能です。さらに、Colab Enterprise の統合されたクラウド環境では、強力な GPU と TPU、リアルタイムのコラボレーション、Google ドライブによる共有とアクセス制御、自動保存、プリインストール済みライブラリ、割り当て付きの無料使用、組み込みのウィジェットと拡張機能、BigQuery や Cloud Storage などの他の Google サービスとの統合を利用できます。

Spark SQL のコンテンツ

Dataplex Discovery は、検出されたテーブルを BigQuery と Dataproc Metastore に登録します。テーブルが登録されている場所に応じて、次のいずれかの移行オプションを使用します。

  • テーブルは Dataproc Metastore と BigQuery の両方に登録されます。Spark SQL スクリプトが Dataproc Metastore を介して Dataplex で検出されたテーブルとやり取りする場合は、BigQuery からこれらのテーブルを直接クエリできます。
  • テーブルは Dataproc Metastore にのみ登録されます。Spark SQL スクリプトが BigQuery で使用できないテーブルとやり取りする場合は、BigQuery Studio と Dataproc Metastore の統合を設定する必要があります。Dataproc Metastore には、Thrift と gRPC の 2 種類のエンドポイントが用意されています。エンドポイント プロトコルを確認する方法について詳しくは、エンドポイント 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 でクエリをスケジュールできます。