Open-Source-Metadaten mit BigLake Metastore verwalten

BigLake Metastore ist ein einheitlicher physischer Metadatendienst für Datenanalyseprodukte in Google Cloud. BigLake Metastore bietet eine zentrale Informationsquelle für Metadaten und ermöglicht die Verwaltung und den Zugriff auf Daten aus mehreren Quellen. BigLake Metastore ist über BigQuery und verschiedene offene Datenverarbeitungs-Engines in Dataproc zugänglich und daher ein nützliches Tool für Datenanalysten und Entwickler.

Informationen zur Verwaltung von Geschäftsmetadaten finden Sie unter Dataplex.

Funktionsweise von BigLake Metastore

BigLake Metastore ist ein serverloser Dienst, für den Sie keine Ressourcen bereitstellen müssen, bevor Sie ihn verwenden. Sie können ihn als serverlose Alternative zu Hive Metastore in Dataproc-Clustern verwenden. BigLake Metastore funktioniert über seine Hive-kompatiblen APIs genauso wie Hive Metastore. Sie können Tabellen im offenen Format sofort in BigQuery abfragen, ohne weitere Schritte ausführen zu müssen. BigLake Metastore unterstützt nur Apache Iceberg-Tabellen.

BigLake Metastore bietet APIs, Clientbibliotheken und eine Datenmodul-Integration (z. B. Apache Spark), um Kataloge, Datenbanken und Tabellen zu verwalten.

Beschränkungen

Für BigLake Metastore gelten die folgenden Einschränkungen:

  • BigLake Metastore unterstützt keine Apache Hive-Tabellen.
  • IAM-Rollen (Identity and Access Management) und ‑Berechtigungen können nur für Projekte gewährt werden. Das Gewähren von IAM-Berechtigungen für Ressourcen wird nicht unterstützt.
  • Cloud Monitoring wird nicht unterstützt.
  • Für BigLake Metastore-Kataloge und ‑Datenbanken gelten die folgenden Namensbeschränkungen:
    • Namen dürfen bis zu 1024 Zeichen lang sein.
    • Namen dürfen nur UTF-8-Buchstaben (Groß- und Kleinbuchstaben), Ziffern und Unterstriche enthalten.
    • Namen müssen für jede Kombination aus Projekt und Region eindeutig sein.
  • Für BigLake Metastore-Tabellen gelten dieselben Namenskonventionen wie für BigQuery-Tabellen. Weitere Informationen finden Sie unter Tabellennamen.

Hinweise

Sie müssen die Abrechnung und die BigLake API aktivieren, bevor Sie BigLake Metastore verwenden können.

  1. Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle „Service Usage-Administrator” (roles/serviceusage.serviceUsageAdmin) für Ihr Projekt zuzuweisen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
  2. Aktivieren Sie die Abrechnung für Ihr Google Cloud-Projekt. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.
  3. Aktivieren Sie die BigLake API.

    API aktivieren

Erforderliche Rollen

  • Für die vollständige Kontrolle über BigLake Metastore-Ressourcen benötigen Sie die Rolle „BigLake-Administrator” (roles/biglake.admin). Wenn Sie ein Dienstkonto des BigQuery Spark-Connectors, ein Dataproc Serverless-Dienstkonto oder ein Dataproc-VM-Dienstkonto verwenden, weisen Sie dem Konto die BigLake-Administratorrolle zu.
  • Für den Lesezugriff auf BigLake Metastore-Ressourcen benötigen Sie die Rolle „BigLake-Betrachter“ (roles/biglake.viewer). Beim Abfragen einer BigLake-Metastore-Tabelle in BigQuery muss der Nutzer oder das BigQuery-Verbindungsdienstkonto beispielsweise die Rolle „BigLake-Betrachter” haben.
  • Zum Erstellen von BigQuery-Tabellen mit Verbindungen benötigen Sie die Rolle „BigQuery-Verbindungsnutzer” (roles/bigquery.connectionUser). Weitere Informationen zum Freigeben von Verbindungen finden Sie unter Verbindungen für Nutzer freigeben.

Je nach Anwendungsfall kann die Identität, die BigLake Metastore aufruft, ein Nutzer oder ein Dienstkonto sein:

  • Nutzer: Wenn Sie die BigLake REST API direkt aufrufen oder eine BigQuery Iceberg-Tabelle ohne Verbindung von BigQuery abfragen. In diesem Fall verwendet BigQuery die Anmeldedaten des Nutzers.
  • BigQuery Cloud Resource Connection: Beim Abfragen einer BigQuery Iceberg-Tabelle mit einer Verbindung von BigQuery. BigQuery verwendet die Anmeldedaten des Verbindungsdienstkontos, um auf BigLake Metastore zuzugreifen.
  • BigQuery Spark-Connector: Bei Verwendung von Spark mit BigLake Metastore in einer von BigQuery gespeicherten Prozedur. Spark verwendet die Anmeldedaten des Dienstkontos des Spark-Connectors, um auf BigLake Metastore zuzugreifen und BigQuery-Tabellen zu erstellen.
  • Dataproc Serverless-Dienstkonto: Bei Verwendung von Spark mit BigLake in Dataproc Serverless. Spark verwendet die Anmeldedaten des Dienstkontos.
  • Dataproc-VM-Dienstkonto: Bei Verwendung von Dataproc (nicht Dataproc Serverless). Apache Spark verwendet die Anmeldedaten des VM-Dienstkontos.

Abhängig von Ihren Berechtigungen können Sie diese Rollen selbst zuweisen oder Ihren Administrator bitten, sie Ihnen zu gewähren. Weitere Informationen zum Gewähren von Rollen finden Sie unter Zuweisbare Rollen für Ressourcen aufrufen.

Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die genauen Berechtigungen anzuzeigen, die für den Zugriff auf BigLake Metastore-Ressourcen erforderlich sind:

Erforderliche Berechtigungen

  • biglake.tables.get auf Projektebene für alle Lesezugriffe. Die Abfrage einer BigQuery Iceberg-Tabelle ist nur in Lesezugriff möglich.
  • biglake.{catalogs|databases|tables}.* auf Projektebene für alle Lese- und Schreibberechtigungen Normalerweise erfordert Apache Spark die Möglichkeit, Daten zu lesen und zu schreiben, einschließlich der Möglichkeit, Kataloge, Datenbanken und Tabellen zu erstellen, zu verwalten und aufzurufen.
  • bigquery.connections.delegate auf Ebene der BigQuery-Cloud-Ressourcenverbindung oder höher, um eine BigQuery Iceberg-Tabelle mithilfe einer Verbindung zu erstellen.

Verbindung zu BigLake Metastore herstellen

In den folgenden Abschnitten wird beschrieben, wie Sie eine Verbindung zum BigLake Metastore herstellen. In diesen Abschnitten wird das BigLake Apache Iceberg-Katalog-Plug-in installiert und verwendet, das durch die JAR-Dateien in den folgenden Methoden angegeben wird. Das Katalog-Plug-in stellt eine Verbindung von Open-Source-Engines wie Apache Spark zu BigLake Metastore her.

Verbindung zu einer Dataproc-VM herstellen

So stellen Sie mit einer Dataproc-VM eine Verbindung zu BigLake Metastore her:

  1. Verwenden Sie SSH für eine Verbindung zu Dataproc.
  2. Verwenden Sie in der Spark SQL-Befehlszeile die folgende Anweisung, um den benutzerdefinierten Katalog von Apache Iceberg zu installieren und zu konfigurieren, damit er mit BigLake Metastore funktioniert:

    spark-sql \
      --packages ICEBERG_SPARK_PACKAGE \
      --jars BIGLAKE_ICEBERG_CATALOG_JAR \
      --conf spark.sql.catalog.SPARK_CATALOG=org.apache.iceberg.spark.SparkCatalog \
      --conf spark.sql.catalog.SPARK_CATALOG.catalog-impl=org.apache.iceberg.gcp.biglake.BigLakeCatalog \
      --conf spark.sql.catalog.SPARK_CATALOG.gcp_project=PROJECT_ID \
      --conf spark.sql.catalog.SPARK_CATALOG.gcp_location=LOCATION \
      --conf spark.sql.catalog.SPARK_CATALOG.blms_catalog=BLMS_CATALOG \
      --conf spark.sql.catalog.SPARK_CATALOG.warehouse=GCS_DATA_WAREHOUSE_FOLDER \
      --conf spark.sql.catalog.SPARK_HMS_CATALOG=org.apache.iceberg.spark.SparkCatalog \
      --conf spark.sql.catalog.SPARK_HMS_CATALOG.type=hive \
      --conf spark.sql.catalog.SPARK_HMS_CATALOG.uri=thrift://HMS_URI:9083
      

Ersetzen Sie Folgendes:

  • ICEBERG_SPARK_PACKAGE: Die zu verwendende Version von Apache Iceberg mit Spark. Wir empfehlen die Verwendung der Spark-Version, die der Spark-Version in Ihrer Dataproc- oder serverlosen Dataproc-Instanz entspricht. Eine Liste der verfügbaren Apache Iceberg-Versionen finden Sie unter Apache Iceberg-Downloads. Das Flag für Apache Spark 3.3 lautet beispielsweise:
    --packages org.apache.iceberg:iceberg-spark-runtime-3.3_2.13:1.2.1
  • BIGLAKE_ICEBERG_CATALOG_JAR: Der Cloud Storage-URI des zu installierenden Iceberg-Katalog-Plug-ins. Wählen Sie je nach Umgebung eine der folgenden Optionen aus:
    • Iceberg 1.2.0: gs://spark-lib/biglake/biglake-catalog-iceberg1.2.0-0.1.1-with-dependencies.jar
    • Iceberg 0.14.0: gs://spark-lib/biglake/biglake-catalog-iceberg0.14.0-0.1.1-with-dependencies.jar
  • SPARK_CATALOG: Die Katalogkennung für Spark. Sie ist mit einem BigLake Metastore-Katalog verknüpft.
  • PROJECT_ID: Die Google Cloud-Projekt-ID des BigLake Metastore-Katalogs, mit dem der Spark-Katalog verknüpft ist.
  • LOCATION: Der Google Cloud-Speicherort des BigLake Metastore-Katalogs, mit dem der Spark-Katalog verknüpft ist.
  • BLMS_CATALOG: Die BigLake Metastore-Katalog-ID, mit der der Spark-Katalog verknüpft ist. Der Katalog muss nicht vorhanden sein und kann in Spark erstellt werden.
  • GCS_DATA_WAREHOUSE_FOLDER: der Cloud Storage-Ordner, in dem Spark alle Dateien erstellt. Er beginnt mit gs://.
  • HMS_DB: (optional) Die HMS-Datenbank mit der Tabelle, aus der kopiert werden soll.
  • HMS_TABLE (optional): Die HMS-Tabelle, aus der kopiert werden soll.
  • HMS_URI: (optional) Der HMS Thrift-Endpunkt.

Verbindung zu einem Dataproc-Cluster herstellen

Alternativ können Sie einen Dataproc-Job an einen Cluster senden. Im folgenden Beispiel wird der entsprechende benutzerdefinierte Iceberg-Katalog installiert.

Wenn Sie eine Verbindung zu einem Dataproc-Cluster herstellen möchten, senden Sie einen Job mit den folgenden Spezifikationen:

CONFS="spark.sql.catalog.SPARK_CATALOG=org.apache.iceberg.spark.SparkCatalog,"
CONFS+="spark.sql.catalog.SPARK_CATALOG.catalog-impl=org.apache.iceberg.gcp.biglake.BigLakeCatalog,"
CONFS+="spark.sql.catalog.SPARK_CATALOG.gcp_project=PROJECT_ID,"
CONFS+="spark.sql.catalog.SPARK_CATALOG.gcp_location=LOCATION,"
CONFS+="spark.sql.catalog.SPARK_CATALOG.blms_catalog=BLMS_CATALOG,"
CONFS+="spark.sql.catalog.SPARK_CATALOG.warehouse=GCS_DATA_WAREHOUSE_FOLDER,"
CONFS+="spark.jars.packages=ICEBERG_SPARK_PACKAGE"

gcloud dataproc jobs submit spark-sql --cluster=DATAPROC_CLUSTER \
  --project=DATAPROC_PROJECT_ID \
  --region=DATAPROC_LOCATION \
  --jars=BIGLAKE_ICEBERG_CATALOG_JAR \
  --properties="${CONFS}" \
  --file=QUERY_FILE_PATH

Ersetzen Sie Folgendes:

  • DATAPROC_CLUSTER: Der Dataproc-Cluster, an den der Job gesendet werden soll.
  • DATAPROC_PROJECT_ID: Die Projekt-ID des Dataproc-Clusters. Diese ID kann sich von PROJECT_ID unterscheiden.
  • DATAPROC_LOCATION: Der Standort des Dataproc-Clusters. Dieser Standort kann von LOCATION abweichen.
  • QUERY_FILE_PATH: Der Pfad zur Datei mit den auszuführenden Abfragen.

Verbindung mit Dataproc Serverless herstellen

Ebenso können Sie eine Batcharbeitslast an Dataproc Serverless senden. Folgen Sie dazu der Anleitung für Batcharbeitslasten mit den folgenden zusätzlichen Flags:

  • --properties="${CONFS}"
  • --jars=BIGLAKE_ICEBERG_CATALOG_JAR

Verbindung zu gespeicherten Prozeduren in BigQuery herstellen

Sie können gespeicherte Prozeduren von BigQuery verwenden, um Dataproc Serverless-Jobs auszuführen. Das Verfahren ähnelt dem Ausführen von Dataproc Serverless-Jobs direkt in Dataproc.

Metastore-Ressourcen erstellen

In den folgenden Abschnitten wird beschrieben, wie Sie Ressourcen im Metastore erstellen.

Kataloge erstellen

Für Katalognamen gelten Einschränkungen. Weitere Informationen finden Sie unter Einschränkungen. Wählen Sie eine der folgenden Optionen aus, um einen Katalog zu erstellen:

API

Verwenden Sie die Methode projects.locations.catalogs.create und geben Sie den Namen eines Katalogs an.

Spark SQL

CREATE NAMESPACE SPARK_CATALOG;

Terraform

Dadurch wird eine BigLake-Datenbank mit dem Namen "my_database" vom Typ "HIVE" in dem Katalog erstellt, der durch die Variable "google_biglake_catalog.default.id" angegeben wird. Weitere Informationen finden Sie in der Terraform BigLake-Dokumentation.

resource "google_biglake_catalog" "default" {
name     = "my_catalog"
location = "US"
}

Datenbanken erstellen

Datenbanknamen unterliegen Einschränkungen. Weitere Informationen finden Sie unter Einschränkungen. Damit Ihre Datenbankressource mit Datenbanken kompatibel ist, empfehlen wir, Datenbanken mithilfe von Datenbanken zu erstellen, anstatt den Ressourcenkörper manuell zu erstellen. Wählen Sie eine der folgenden Optionen aus, um eine Datenbank zu erstellen:

API

Verwenden Sie die Methode projects.locations.catalogs.databases.create und geben Sie den Namen einer Datenbank an.

Spark SQL

CREATE NAMESPACE SPARK_CATALOG.BLMS_DB;

Ersetzen Sie Folgendes:

  • BLMS_DB: Die zu erstellende BigLake Metastore-Datenbank-ID.

Terraform

Dadurch wird eine BigLake-Datenbank mit dem Namen "my_database" vom Typ "HIVE" in dem Katalog erstellt, der durch die Variable "google_biglake_catalog.default.id" angegeben wird. Weitere Informationen finden Sie in der Terraform BigLake-Dokumentation.

resource "google_biglake_database" "default" {
name    = "my_database"
catalog = google_biglake_catalog.default.id
type    = "HIVE"
hive_options {
  location_uri = "gs://${google_storage_bucket.default.name}/${google_storage_bucket_object.metadata_directory.name}"
  parameters = {
    "owner" = "Alex"
  }
}
}

Tabellen erstellen

Für Tabellennamen gelten Einschränkungen. Weitere Informationen finden Sie unter Tabellennamen. Wählen Sie eine der folgenden Optionen, um eine Tabelle zu erstellen:

API

Verwenden Sie die Methode projects.locations.catalogs.databases.tables.create und geben Sie den Namen einer Tabelle an.

Spark SQL

CREATE TABLE SPARK_CATALOG.BLMS_DB.BLMS_TABLE
  (id bigint, data string) USING iceberg;

Ersetzen Sie Folgendes:

  • BLMS_TABLE: Die zu erstellende BigLake Metastore-Tabellen-ID

Terraform

Dadurch wird eine BigLake Metastore-Tabelle mit dem Namen "my_table" vom Typ "HIVE" in der Datenbank erstellt, die durch die Variable "google_biglake_database.default.id" angegeben wird. Weitere Informationen finden Sie in der Dokumentation zu Terraform Provider: BigLake-Tabelle.

resource "google_biglake_table" "default" {
name     = "my-table"
database = google_biglake_database.default.id
type     = "HIVE"
hive_options {
  table_type = "MANAGED_TABLE"
  storage_descriptor {
    location_uri  = "gs://${google_storage_bucket.default.name}/${google_storage_bucket_object.data_directory.name}"
    input_format  = "org.apache.hadoop.mapred.SequenceFileInputFormat"
    output_format = "org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat"
  }
  parameters = {
    "spark.sql.create.version"          = "3.1.3"
    "spark.sql.sources.schema.numParts" = "1"
    "transient_lastDdlTime"             = "1680894197"
    "spark.sql.partitionProvider"       = "catalog"
    "owner"                             = "Alex"
    "spark.sql.sources.schema.part.0" = jsonencode({
      "type" : "struct",
      "fields" : [
        { "name" : "id", "type" : "integer",
          "nullable" : true,
          "metadata" : {}
        },
        {
          "name" : "name",
          "type" : "string",
          "nullable" : true,
          "metadata" : {}
        },
        {
          "name" : "age",
          "type" : "integer",
          "nullable" : true,
          "metadata" : {}
        }
      ]
    })
    "spark.sql.sources.provider" = "iceberg"
    "provider"                   = "iceberg"
  }
}
}

E2E Terraform-Beispiel

Dieses GitHub-Beispiel enthält ein ausführbares E2E-Beispiel, das einen BigLake Metastore-Katalog, eine BigLake Metastore-Datenbank und eine BigLake Metastore-Tabelle erstellt. Weitere Informationen zur Verwendung dieses Beispiels finden Sie unter Grundlegende Terraform-Befehle.

Iceberg-Tabelle aus dem Hive Metastore in den BigLake Metastore kopieren

Verwenden Sie die folgende Spark SQL-Anweisung, um eine Iceberg-Tabelle zu erstellen und eine Hive-Metastore-Tabelle in den BigLake Metastore zu kopieren:

CREATE TABLE SPARK_CATALOG.BLMS_DB.BLMS_TABLE
  (id bigint, data string) USING iceberg
  TBLPROPERTIES(hms_table='HMS_DB.HMS_TABLE');

BigLake Metastore ist der empfohlene Metastore für Abfragen externer BigLake-Tabellen für Iceberg. Wenn Sie eine Iceberg-Tabelle in Spark erstellen, können Sie optional gleichzeitig eine verknüpfte BigLake-Iceberg-Tabelle erstellen.

Wenn Sie eine Iceberg-Tabelle in Spark erstellen und gleichzeitig eine BigLake-Iceberg-Tabelle erstellen möchten, verwenden Sie die folgende Spark SQL-Anweisung:

  CREATE TABLE SPARK_CATALOG.BLMS_DB.BLMS_TABLE
    (id bigint, data string) USING iceberg
    TBLPROPERTIES(bq_table='BQ_TABLE_PATH',
    bq_connection='BQ_RESOURCE_CONNECTION');

Ersetzen Sie Folgendes:

  • BQ_TABLE_PATH: Der Pfad der BigLake Iceberg-Tabelle, die erstellt werden soll. Beachten Sie die Syntax für BigQuery-Tabellenpfade. Wenn kein Projekt angegeben ist, wird dasselbe Projekt wie beim BigLake Metastore-Katalog verwendet.
  • BQ_RESOURCE_CONNECTION (optional): das Format ist project.location.connection-id. Wenn dieses Flag angegeben ist, verwenden BigQuery-Abfragen die Anmeldedaten für die Cloud Resource-Verbindung, um auf BigLake Metastore zuzugreifen. Wenn Sie diese Option nicht angeben, wird in BigQuery eine normale externe Tabelle anstelle einer BigLake-Tabelle erstellt.

Wenn Sie BigLake-Iceberg-Tabellenverknüpfungen mit angegebenen BigLake-Metastore-Tabellen-URIs (blms://…) manuell erstellen möchten, verwenden Sie die folgende BigQuery-SQL-Anweisung:

CREATE EXTERNAL TABLE 'BQ_TABLE_PATH'
  WITH CONNECTION `BQ_RESOURCE_CONNECTION`
  OPTIONS (
          format = 'ICEBERG',
          uris = ['blms://projects/PROJECT_ID/locations/LOCATION/catalogs/BLMS_CATALOG/databases/BLMS_DB/tables/BLMS_TABLE']
          )

Metastore-Ressourcen aufrufen

In den folgenden Abschnitten wird beschrieben, wie Sie sich Ressourcen im BigLake-Metastore ansehen.

Kataloge aufrufen

Wenn Sie alle Datenbanken in einem Katalog aufrufen möchten, verwenden Sie die Methode projects.locations.catalogs.list und geben Sie den Namen eines Katalogs an.

Wenn Sie Informationen zu einem Katalog aufrufen möchten, verwenden Sie die Methode projects.locations.catalogs.get und geben Sie den Namen eines Katalogs an.

Datenbanken aufrufen

So rufen Sie eine Datenbank auf:

API

Wenn Sie alle Tabellen in einer Datenbank aufrufen möchten, verwenden Sie die Methode projects.locations.catalogs.databases.list und geben Sie den Namen einer Datenbank an.

Wenn Sie Informationen zu einer Datenbank aufrufen möchten, verwenden Sie die Methode projects.locations.catalogs.databases.get und geben Sie den Namen einer Datenbank an.

Spark SQL

Verwenden Sie die folgende Anweisung, um alle Datenbanken in einem Katalog aufzurufen:

SHOW { DATABASES | NAMESPACES } IN SPARK_CATALOG;

Mit der folgenden Anweisung können Sie Informationen zu einer definierten Datenbank aufrufen:

DESCRIBE { DATABASE | NAMESPACE } [EXTENDED] SPARK_CATALOG.BLMS_DB;

Tabellen anzeigen

So rufen Sie alle Tabellen in einer Datenbank oder eine definierte Tabelle auf:

API

Wenn Sie alle Tabellen in einer Datenbank aufrufen möchten, verwenden Sie die Methode projects.locations.catalogs.databases.tables.list und geben Sie den Namen einer Datenbank an.

Wenn Sie Informationen zu einer Tabelle aufrufen möchten, verwenden Sie die Methode projects.locations.catalogs.databases.tables.get und geben Sie den Namen einer Tabelle an.

Spark SQL

Mit der folgenden Anweisung können Sie alle Tabellen in einer Datenbank aufrufen:

SHOW TABLES IN SPARK_CATALOG.BLMS_DB;

Mit der folgenden Anweisung können Sie Informationen zu einer definierten Tabelle aufrufen:

DESCRIBE TABLE [EXTENDED] SPARK_CATALOG.BLMS_DB.BLMS_TABLE;

Metastore-Ressourcen ändern

In den folgenden Abschnitten wird beschrieben, wie Sie Ressourcen im Metastore ändern.

Tabellen aktualisieren

Um Konflikte zu vermeiden, wenn mehrere Jobs gleichzeitig versuchen, dieselbe Tabelle zu aktualisieren, verwendet BigLake Metastore die optimistische Datenbanksperre. Zur Verwendung des optimistischen Sperrverfahrens müssen Sie zuerst die aktuelle Version der Tabelle (ETag genannt) mithilfe der Methode GetTable abrufen. Anschließend können Sie Änderungen an der Tabelle vornehmen und die Methode UpdateTable verwenden, wobei Sie das zuvor abgerufene ETag übergeben. Wenn ein anderer Job die Tabelle nach dem Abrufen des Etags aktualisiert, schlägt die Methode UpdateTable fehl. So wird sichergestellt, dass die Tabelle immer nur von einem Job aktualisiert werden kann, um Konflikte zu vermeiden.

Wählen Sie eine der folgenden Optionen, um eine Tabelle zu aktualisieren:

API

Verwenden Sie die Methode projects.locations.catalogs.databases.tables.patch und geben Sie den Namen einer Tabelle an.

Spark SQL

Informationen zu den Optionen zum Aktualisieren von Tabellen in SQL finden Sie unter ALTER TABLE.

Tabellen umbenennen

Wählen Sie eine der folgenden Optionen aus, um eine Tabelle zu löschen:

API

Verwenden Sie die Methode projects.locations.catalogs.databases.tables.rename und geben Sie den Namen einer Tabelle sowie einen newName-Wert an.

Spark SQL

ALTER TABLE BLMS_TABLE RENAME TO NEW_BLMS_TABLE;

Ersetzen Sie Folgendes:

  • NEW_BLMS_TABLE: Der neue Name für BLMS_TABLE. Muss sich im selben Dataset wie BLMS_TABLE befinden.

Metastore-Ressourcen löschen

In den folgenden Abschnitten erfahren Sie, wie Sie Ressourcen im BigLake-Metastore löschen.

Kataloge löschen

Wählen Sie eine der folgenden Optionen aus, um einen Katalog zu löschen:

API

Verwenden Sie die Methode projects.locations.catalogs.delete und geben Sie den Namen eines Katalogs an. Mit dieser Methode werden die zugehörigen Dateien in Google Cloud nicht gelöscht.

Spark SQL

DROP NAMESPACE SPARK_CATALOG;

Datenbanken löschen

Wählen Sie eine der folgenden Optionen aus, um eine Datenbank zu löschen:

API

Verwenden Sie die Methode projects.locations.catalogs.databases.delete und geben Sie den Namen einer Datenbank an. Mit dieser Methode werden die zugehörigen Dateien in Google Cloud nicht gelöscht.

Spark SQL

DROP NAMESPACE SPARK_CATALOG.BLMS_DB;

Tabellen löschen

Wählen Sie eine der folgenden Optionen aus, um eine Tabelle zu löschen:

API

Verwenden Sie die Methode projects.locations.catalogs.databases.tables.delete und geben Sie den Namen einer Tabelle an. Mit dieser Methode werden die zugehörigen Dateien in Google Cloud nicht gelöscht.

Spark SQL

Wenn Sie nur die Tabelle löschen möchten, verwenden Sie die folgende Anweisung:

DROP TABLE SPARK_CATALOG.BLMS_DB.BLMS_TABLE;

Verwenden Sie die folgende Anweisung, um die Tabelle zu löschen und die zugehörigen Dateien in Google Cloud zu entfernen:

DROP TABLE SPARK_CATALOG.BLMS_DB.BLMS_TABLE PURGE;