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 avec des métadonnées 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

  • Actuellement, seules les tables Iceberg sont compatibles.
  • 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 répertorie 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) BigQuery table

Afficher et interroger une table

Après avoir créé vos ressources BigQuery dans Spark, vous pouvez les afficher et les interroger dans la consoleGoogle 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 un tableau 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érer 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