Créer et interroger des tables Metastore à partir de Spark

.

Vous pouvez interroger des tables Apache Spark Iceberg dans un notebook BigQuery à l'aide de moteurs Open Source, tels que Spark. Ces tables sont des tables Iceberg standards dont les métadonnées sont stockées dans le métastore BigQuery. Vous pouvez interroger la même table à la fois à partir de BigQuery et de Spark.

Avant de commencer

Remarques

  • Pour le moment, seules les tables Iceberg sont acceptées.
  • Lorsque vous exécutez vos requêtes, n'oubliez pas de mapper vos noms d'espace de noms et de base de données en tant que noms d'ensemble de données BigQuery. Le tableau suivant liste les mappages de touches applicables à utiliser:

    Open Source BigQuery
    Espace de noms Ensemble de données BigQuery
    Base de données Ensemble de données BigQuery
    Table (partitionnée ou non) Table BigQuery

Afficher et interroger une table

Une fois vos ressources BigQuery créées dans Spark, vous pouvez les afficher et les interroger dans la console Google Cloud. L'exemple suivant montre les étapes générales à suivre pour interroger une table Metastore à l'aide de Spark interactif:

  1. Utilisez le catalogue Iceberg personnalisé:

    USE `CATALOG_NAME`;

    Remplacez les éléments suivants :

    • CATALOG_NAME: nom du catalogue Spark que vous utilisez avec votre tâche SQL.
  2. Créez un espace de noms :

    CREATE NAMESPACE IF NOT EXISTS NAMESPACE_NAME;

    Remplacez les éléments suivants :

    • NAMESPACE_NAME: nom de l'espace de noms qui fait référence à votre table Spark.
  3. Utilisez l'espace de noms créé:

    USE NAMESPACE_NAME;
  4. Créez une table Iceberg:

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

    Remplacez les éléments suivants :

    • TABLE_NAME: nom de votre table Iceberg.
  5. Insérez une ligne de tableau:

    INSERT INTO TABLE_NAME VALUES (1, "first row");
  6. Utilisez la console Google Cloud pour effectuer l'une des opérations suivantes:

     SELECT * FROM `TABLE_NAME`;

Étape suivante