Spark から Metastore テーブルを作成してクエリを実行する

Spark などのオープンソース エンジンを使用して、BigQuery ノートブックで Apache Spark Iceberg テーブルをクエリできます。これらのテーブルは、BigQuery メタストアにメタデータが保存された通常の Iceberg テーブルです。同じテーブルに対して、BigQuery と Spark の両方からクエリを実行できます。

始める前に

考慮事項

  • 現在、Iceberg テーブルのみがサポートされています。
  • クエリを実行するときは、名前空間とデータベース名を BigQuery データセット名としてマッピングしてください。次の表に、使用できるキーマッピングを示します。

    オープンソース BigQuery
    名前空間 BigQuery データセット
    データベース BigQuery データセット
    テーブル(パーティション分割ありまたはパーティション分割なし) BigQuery テーブル

テーブルを表示してクエリを実行する

Spark で BigQuery リソースを作成したら、Google Cloud コンソールで表示およびクエリできます。次の例は、インタラクティブな Spark を使用してメタストア テーブルにクエリを実行する一般的な手順を示しています。

  1. カスタムの Iceberg カタログを使用します。

    USE `CATALOG_NAME`;

    次のように置き換えます。

    • CATALOG_NAME: SQL ジョブで使用している Spark カタログの名前。
  2. Namespace を作成します。

    CREATE NAMESPACE IF NOT EXISTS NAMESPACE_NAME;

    次のように置き換えます。

    • NAMESPACE_NAME: Spark テーブルを参照する Namespace 名。
  3. 作成した Namespace を使用します。

    USE NAMESPACE_NAME;
  4. Iceberg テーブルを作成します。

    CREATE TABLE TABLE_NAME (id int, data string) USING ICEBERG;

    次のように置き換えます。

    • TABLE_NAME: Iceberg テーブルの名前。
  5. 表の行を挿入します。

    INSERT INTO TABLE_NAME VALUES (1, "first row");
  6. Google Cloud コンソールを使用して、次のいずれかを行います。

     SELECT * FROM `TABLE_NAME`;

次のステップ