Open-Source-Metadaten mit BigLake Metastore verwalten

BigLake Metastore ist ein einheitlicher physischer Metadatendienst für Datenanalyseprodukte in Google Cloud. BigLake Metastore bietet eine Single Source Of Truth 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 zum Verwalten von geschäftlichen Metadaten finden Sie unter Dataplex.

Funktionsweise von BigLake Metastore

BigLake Metastore ist ein serverloser Dienst, für den Sie vor der Verwendung keine Ressourcen bereitstellen müssen. Sie können ihn als serverlose Alternative zu Hive Metastore in Dataproc-Clustern verwenden. BigLake Metastore funktioniert auf die gleiche Weise wie Hive Metastore über seine Hive-kompatiblen APIs und Sie können Tabellen im offenen Format sofort in BigQuery ohne weitere Schritte abfragen. 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 Beschränkungen:

  • BigLake Metastore unterstützt keine Apache Hive-Tabellen.
  • Rollen und Berechtigungen der Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) können nur Projekten zugewiesen werden. Das Erteilen 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 Einschrä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.

  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, Nutzer oder Dienstkonten sein:

  • Nutzer: Wenn Sie die BigLake REST API direkt aufrufen oder eine BigQuery Iceberg-Tabelle ohne Verbindung von BigQuery abfragen. BigQuery verwendet in diesem Fall 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 für den Zugriff auf BigLake Metastore.
  • 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 schreibgeschützt.
  • 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 der BigQuery Cloud Resource Connection-Ebene oder höher, um eine BigQuery Iceberg-Tabelle über eine Verbindung zu erstellen.

Verbindung zu BigLake Metastore herstellen

In den folgenden Abschnitten wird erläutert, wie Sie eine Verbindung zu 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 von Open Source-Engines wie Apache Spark eine Verbindung zu BigLake Metastore her.

Verbindung mit einer Dataproc-VM herstellen

So stellen Sie eine Verbindung zu BigLake Metastore mit einer Dataproc-VM 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 Version von Apache Iceberg mit Spark, die verwendet werden soll. 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 benutzerdefinierten Katalog-Plug-ins von Iceberg, das installiert werden soll. 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 mit einem Dataproc-Cluster herstellen

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

Stellen Sie einen Job mit den folgenden Spezifikationen bereit, um eine Verbindung zu einem Dataproc-Cluster herzustellen:

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 Speicherort des Dataproc-Clusters. Dieser kann sich von LOCATION unterscheiden.
  • QUERY_FILE_PATH: Der Pfad zur Datei mit den auszuführenden Abfragen.

Mit Dataproc Serverless verbinden

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

Mit gespeicherten BigQuery-Prozeduren verbinden

Sie können gespeicherte Prozeduren von BigQuery verwenden, um Dataproc Serverless-Jobs auszuführen. Der Vorgang ä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 Dokumentation zu Terraform BigLake.

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

Datenbanken erstellen

Für Datenbanknamen gelten Einschränkungen; Weitere Informationen finden Sie unter Einschränkungen. Damit Ihre Datenbankressource mit Daten-Engines kompatibel ist, empfehlen wir, Datenbanken mit Daten-Engines zu erstellen, anstatt den Ressourcentext 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 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 Dokumentation zu Terraform BigLake.

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 Hive Metastore in BigLake Metastore kopieren

Verwenden Sie die folgende Spark SQL-Anweisung, um eine Iceberg-Tabelle zu erstellen und eine Hive Metastore-Tabelle in 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 zum Abfragen von BigLake Iceberg-Tabellen. Beim Erstellen einer Iceberg-Tabelle in Spark können Sie optional eine verknüpfte BigLake Iceberg-Tabelle gleichzeitig erstellen.

Wenn Sie eine Iceberg-Tabelle in Spark erstellen und automatisch eine BigLake Iceberg-Tabelle gleichzeitig 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. Folgen Sie der Syntax des BigQuery-Tabellenpfads. 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 nicht angegeben, erstellt BigQuery anstelle einer BigLake-Tabelle eine reguläre externe Tabelle.

Wenn Sie BigLake Iceberg-Tabellenlinks mit den 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 Ressourcen in BigLake Metastore aufrufen.

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.

Um Informationen zu einem Katalog aufzurufen, 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

Mit der Methode projects.locations.catalogs.databases.list können Sie alle Tabellen in einer Datenbank aufrufen und den Namen einer Datenbank angeben.

Verwenden Sie die Methode projects.locations.catalogs.databases.get, um Informationen zu einer Datenbank aufzurufen. 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;

Verwenden Sie die folgende Anweisung, um Informationen zu einer definierten Datenbank aufzurufen:

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;

Verwenden Sie die folgende Anweisung, um Informationen zu einer definierten Tabelle aufzurufen:

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

Zur Vermeidung von Konflikten, wenn mehrere Jobs gleichzeitig versuchen, dieselbe Tabelle zu aktualisieren, verwendet BigLake Metastore das optimistische Sperrverfahren. 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. Diese Maßnahme sorgt dafür, dass nur ein Job gleichzeitig die Tabelle aktualisieren 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 Tabellenaktualisierungsoptionen in SQL finden Sie unter ALTER TABLE.

Tabellen umbenennen

Wählen Sie eine der folgenden Optionen aus, um eine Tabelle umzubenennen:

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 wird beschrieben, wie Sie Ressourcen in 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. Die Methode löscht die zugehörigen Dateien in Google Cloud nicht.

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. Die Methode löscht die zugehörigen Dateien in Google Cloud nicht.

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. Die Methode löscht die zugehörigen Dateien in Google Cloud nicht.

Spark SQL

Verwenden Sie die folgende Anweisung, um nur die Tabelle zu löschen:

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 löschen:

DROP TABLE SPARK_CATALOG.BLMS_DB.BLMS_TABLE PURGE;