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. Il s'agit de tables Iceberg standards dont les métadonnées sont stockées dans BigLake Metastore. La même table peut être interrogée à la fois depuis BigQuery et Spark.
Avant de commencer
- Créez une table Iceberg en utilisant Spark dans un notebook BigQuery. Le schéma de la table est stocké dans le metastore BigLake. Par exemple, vous pouvez créer la table avec Dataproc, Dataproc Serverless ou une procédure stockée.
Remarques
- 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'ensembles 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) Table BigQuery
Afficher et interroger une table
Après avoir créé vos ressources BigQuery dans Spark, vous pouvez les afficher et les interroger dans la consoleTrusted Cloud . L'exemple suivant montre les étapes générales à suivre pour interroger une table de metastore à l'aide de Spark interactif :
Utilisez le catalogue Iceberg personnalisé :
USE `CATALOG_NAME`;
Remplacez les éléments suivants :
CATALOG_NAME
: nom du catalogue Spark que vous utilisez avec votre job SQL.
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.
Utilisez l'espace de noms créé :
USE NAMESPACE_NAME;
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.
Insérer une ligne dans un tableau :
INSERT INTO TABLE_NAME VALUES (1, "first row");
Utilisez la console Trusted Cloud pour effectuer l'une des opérations suivantes :
SELECT * FROM `TABLE_NAME`;
Étapes suivantes
- Configurez des fonctionnalités BigLake Metastore supplémentaires.