Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Metastore-Tabellen aus Spark erstellen und abfragen
Sie können Apache Spark Iceberg-Tabellen in einem BigQuery-Notebook mit Open-Source-Engines wie Spark abfragen. Diese Tabellen sind reguläre Iceberg-Tabellen mit Metadaten, die im BigLake Metastore gespeichert sind. Die gleiche Tabelle kann sowohl über BigQuery als auch über Spark abgefragt werden.
Hinweise
Iceberg-Tabelle mit Spark in einem BigQuery-Notebook erstellen Das Tabellenschema wird im BigLake-Metastore gespeichert. Sie können die Tabelle beispielsweise mit Dataproc, Dataproc Serverless oder einer gespeicherten Prozedur erstellen.
Hinweise
Es werden nur Eisbergtabellen unterstützt.
Denken Sie beim Ausführen Ihrer Abfragen daran, Ihre Namespace- und Datenbanknamen als BigQuery-Datasetnamen zuzuordnen. In der folgenden Tabelle sind die entsprechenden Tastenzuordnungen aufgeführt:
Open Source
BigQuery
Namespace
BigQuery-Dataset
Datenbank
BigQuery-Dataset
Tabelle (partitioniert oder nicht partitioniert)
BigQuery-Tabelle
Tabelle aufrufen und abfragen
Nachdem Sie Ihre BigQuery-Ressourcen in Spark erstellt haben, können Sie sie in derGoogle Cloud -Konsole aufrufen und abfragen. Im folgenden Beispiel werden die allgemeinen Schritte zum Abfragen einer Metastore-Tabelle mithilfe von interaktivem Spark veranschaulicht:
Benutzerdefinierten Iceberg-Katalog verwenden:
USE`CATALOG_NAME`;
Ersetzen Sie Folgendes:
CATALOG_NAME: der Name des Spark-Katalogs, den Sie für Ihren SQL-Job verwenden.
Erstellen Sie einen Namespace:
CREATENAMESPACEIFNOTEXISTSNAMESPACE_NAME;
Ersetzen Sie Folgendes:
NAMESPACE_NAME: Der Name des Namespace, der auf Ihre Spark-Tabelle verweist.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-17 (UTC)."],[],[],null,["# Create and query metastore tables from Spark\n============================================\n\nYou can query Apache Spark Iceberg tables in a\nBigQuery notebook using open-source engines, such as\nSpark. These tables are regular\nIceberg tables with metadata stored in BigLake metastore. The\nsame table can be queried from both BigQuery and\nSpark.\n\nBefore you begin\n----------------\n\n- Create an Iceberg table while using Spark in a BigQuery notebook. The table schema is stored in BigLake metastore. For example, you can create the table with either [Dataproc](/bigquery/docs/blms-use-dataproc), [Dataproc Serverless](/bigquery/docs/blms-use-dataproc-serverless), or a [stored procedure](/bigquery/docs/blms-use-stored-procedures).\n\nView and query a table\n----------------------\n\nAfter creating your BigQuery resources in\nSpark, you can view and query them in the\nGoogle Cloud console. The following example shows you the general\nsteps to query a metastore table using interactive Spark:\n\n1. Use the custom Iceberg catalog:\n\n ```googlesql\n USE `\u003cvar translate=\"no\"\u003eCATALOG_NAME\u003c/var\u003e`;\n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eCATALOG_NAME\u003c/var\u003e: the name of the Spark catalog to that you're using with your SQL job.\n2. Create a namespace:\n\n ```googlesql\n CREATE NAMESPACE IF NOT EXISTS NAMESPACE_NAME;\n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eNAMESPACE_NAME\u003c/var\u003e: the namespace name that references your Spark table.\n3. Use the created namespace:\n\n ```googlesql\n USE NAMESPACE_NAME;\n ```\n4. Create an Iceberg table:\n\n ```googlesql\n CREATE TABLE TABLE_NAME (id int, data string) USING ICEBERG;\n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eTABLE_NAME\u003c/var\u003e: a name for your Iceberg table.\n5. Insert a table row:\n\n ```googlesql\n INSERT INTO TABLE_NAME VALUES (1, \"first row\");\n ```\n6. Use the Google Cloud console to do one of the following:\n\n - [View the table metadata](/bigquery/docs/running-queries#queries)\n - [Query the table](/bigquery/docs/running-queries#queries)\n\n ```googlesql\n SELECT * FROM `\u003cvar translate=\"no\"\u003eTABLE_NAME\u003c/var\u003e`;\n ```\n\nWhat's next\n-----------\n\n- Set up [additional BigLake metastore features](/bigquery/docs/blms-features)."]]