Häufige Probleme mit Borderless Lakehouse beheben

Sie können Fehler im grenzenlosen Lakehouse und den zugehörigen Ressourcen diagnostizieren und beheben, einschließlich Problemen mit Metadatentabellenabfragen, Größenbeschränkungen für metadata.json-Dateien und multiregionalen Katalogkonfigurationen. Wenn Sie diese Probleme beheben, können Sie Tabellenvorgänge und die Abfrageausführung für Ihre Lakehouse-Arbeitslasten wiederherstellen.

Metadatentabellen können nicht abgefragt werden

Dieses Problem tritt auf, wenn Sie Metadatentabellen wie .snapshots oder .files für Ihre Apache Iceberg-Tabellen abfragen, die vom Lakehouse-Laufzeitkatalog in BigQuery unterstützt werden, und dabei eine fünfstellige Namenskennung verwenden.

Fragen Sie diese Tabellen mit Apache Spark ab, um dieses Problem zu beheben.

Maximale Dateigröße für „metadata.json“

Die Apache Iceberg-Datei metadata.json ist auf 1 MB beschränkt. Dieses Limit gilt für die Metadatendatei, in der Tabellen-Snapshots, Schemas und Partitionsspezifikationen erfasst werden. Wenn Ihre Metadatendatei diese Größe überschreitet, können beim Ausführen von Tabellenvorgängen über den Apache Iceberg REST-Katalogendpunkt Fehler auftreten.

Wenden Sie sich an Ihr Google-Account-Management-Team, um eine Erhöhung des Limits anzufordern.

NOT_FOUND-Fehler beim Abfragen multiregionaler Kataloge

Dieses Problem tritt auf, wenn Sie einen Katalog im Lakehouse-Laufzeitkatalog mit einem multiregionalen Cloud Storage-Bucket erstellen, ohne einen primären Standort anzugeben, und dann versuchen, den Katalog abzufragen, indem Sie eine virtuelle BigQuery-Region (z. B. US oder EU) angeben.

Wenn ein Katalog mit einem multiregionalen Bucket erstellt wird, werden seine Metadaten an bestimmten regionalen Standorten innerhalb des geografischen Bereichs der Multiregion gespeichert, nicht in der entsprechenden virtuellen BigQuery-Region. Wenn Sie die Ausführung einer Abfrage in einer virtuellen Region erzwingen, in der die Metadaten nicht vorhanden sind, schlägt die Abfrage mit dem Fehler NOT_FOUND fehl.

Geben Sie beim Erstellen des Katalogs den primären Standort an (z. B. US oder EU), um dieses Problem zu beheben. Weitere Informationen finden Sie unter Primäre Regionen für multiregionale US- und EU-Standorte angeben.

Jobs zur Speicheroptimierung werden nicht in INFORMATION_SCHEMA.JOBS angezeigt

Dieses Problem tritt auf, wenn Sie die Tabellenverwaltung für eine Apache Iceberg-Tabelle aktivieren und Datenänderungen (z. B. Einfügungen oder DML-Anweisungen) vornehmen, aber keine Speicheroptimierungsjobs (z. B. CALL BQ.OPTIMIZE_STORAGE) in der Ansicht INFORMATION_SCHEMA.JOBS angezeigt werden. Weitere Informationen zum Abfragen dieser Jobs finden Sie unter Jobs zur Iceberg-Speicheroptimierung abrufen.

Dieses Verhalten ist normal, wenn die Speicheroptimierung übersprungen wird. Bei der Tabellenverwaltung wird das Tabellenlayout nach Datenänderungen bewertet und Optimierungsjobs werden nur ausgeführt, wenn Datendateien komprimiert oder umstrukturiert werden müssen. Da Hintergrundjobs zur Tabellenverwaltung in Ihrem Projekt ausgeführt werden und Rechenressourcen verbrauchen, schreibt BigQuery Daten nicht neu, wenn das Tabellenlayout bereits optimiert ist. Die Optimierung wird unter den folgenden Bedingungen übersprungen:

  • Dateien sind bereits optimal: Vorhandene Datendateien liegen bereits nahe der Zieldateigröße oder darüber (die durchschnittliche unkomprimierte Größe beträgt mindestens 50 % von 256 MB).
  • Grenzwerte werden nicht erreicht: Die Tabelle hat nicht genügend kleine Dateien angesammelt oder erreicht nicht den für die Komprimierung erforderlichen Größengrenzwert (z. B. eine Gesamtgröße der Tabelle von mehr als 1 GB).

Wenn die Speicheroptimierung übersprungen wird, wird kein Hintergrundjob ausgeführt und kein Eintrag in INFORMATION_SCHEMA.JOBS protokolliert.

Wenn die Abfrageleistung Ihren Anforderungen entspricht und die Dateien bereits die richtige Größe haben, müssen Sie nichts weiter tun. Die Speicheroptimierung wird automatisch ausgeführt, wenn zukünftige Schreibvorgänge zu einer ausreichenden Dateifragmentierung führen.

Wenn Sie Speicheroptimierungsjobs in einer Testumgebung beobachten möchten, können Sie die Dateifragmentierung simulieren, indem Sie im Laufe der Zeit mehrere kleine Datenbatches in eine Tabelle mit einer Größe von mehr als 1 GB einfügen.