Einschränkungen des Zerobus-Erfassungskonnektors

Diese Seite enthält Einschränkungen bei der Verwendung des Zerobus Ingest-Connectors in Lakeflow Connect.

Verfügbarkeit

Der Zerobus Ingest Connector ist nur in einigen Regionen verfügbar. Eine Liste der unterstützten Regionen finden Sie unter Verfügbarkeit von Ingestion.

Alle verfügbaren Regionen bieten eine mehrzonale Dienstverfügbarkeit, mit Ausnahme von westus und northcentralus, die eine einzelne AZ-Verfügbarkeit bieten.

Latenz

Die Latenz spiegelt sowohl die Bestätigung der Haltbarkeit als auch die Zeit zum Materialisieren von Datensätzen in der Zieldelta-Tabelle wider. Die aktuellen Zeiten variieren je nach Regionsausrichtung und Arbeitsauslastungsmerkmalen.

  • Zeit bis Haltbarkeit
    • P50 ≤ 150 ms
  • Zeit bis zur Tabelle
    • P50 ≤ 5 Sek.

Standarddurchsatzgrenzwerte

Die folgenden Standardgrenzwerte gelten für den Zerobus Ingest-Connector.

  • 100 MB pro Sekunde und Datenstrom (mit 1 KB-Nachrichten getestet)
  • 10 GB/Sekunde pro Zieltabelle

Um den maximalen Durchsatz zu erreichen, sollte sich eine Client-App und ein Endpunkt in derselben geografischen Region befinden. Wenn Sie einen höheren Durchsatz benötigen, wenden Sie sich an Ihren Databricks-Kontomitarbeiter.

Garantien zur Zustellung

Der Zerobus-Erfassungskonnektor bietet mindestens einmal Garantien.

Aufbewahrung gepufferter Daten

Wenn der Zerobus-Erfassungsdienst keine gepufferten Daten in Ihre Delta-Tabelle leeren kann, enthält er die Daten im vom Dienst verwalteten dauerhaften Speicher und gibt gelegentlich Warnungsereignisse pro Datenstrom aus.

Wenn die Daten 31 Tage lang nicht geleert werden, löscht der Dienst die gepufferten Daten und generiert ein Verwerfungsereignis pro Stream, in dem die Anzahl der verworfenen Datensätze und Bytes aufgezeichnet wird. Sie können die Daten nach dem Löschen nicht wiederherstellen.

Quoten

Unten sind die Standardkontingente für den Zerobus Ingest-Connector aufgeführt. Wenn Sie eine höhere Leistung benötigen, wenden Sie sich an Ihren Databricks-Kontovertreter.

gRPC

  • 100 MB pro Sekunde Durchsatz pro Datenstrom
  • 10 GB pro Sekunde Durchsatz pro Zieltabelle

PAUSE

  • 10.000 Anforderungen pro Sekunde

Partitionierte Tabellen

Beim Schreiben in partitionierte Tabellen unterstützt Zerobus Ingest das Schreiben in mehr als 100 Partitionen in einem 5-Sekunden-Intervall nicht. Um den optimalen Durchsatz zu erzielen, minimieren Sie die Anzahl der Partitionen in jedem 5-Sekunden-Intervall.

Databricks empfiehlt die Verwendung flüssig gruppierter Tabellen mit Zerobus Ingest anstelle der Partitionierung.

Katalog-Commits

Zerobus Ingest unterstützt keine Katalog-Commits. Verwenden Sie "Zerobus Ingest" nicht für Delta-Tabellen mit aktivierten Katalog-Commits.

Arbeitsbereich und Zieltabelle

Für die Aufnahme sind die folgenden Arbeitsbereichs- und Zieltabellenbedingungen erforderlich.

  • Der Connector unterstützt das Schreiben nur in verwaltete Delta-Tabellen. Das Schreiben in den Standardspeicher wird nicht unterstützt.
  • Der Connector unterstützt das Schreiben in den durch einen privaten Endpunkt gesicherten Speicher nicht.
  • Der Connector unterstützt das Erneute Erstellen einer Zieltabelle nicht.
  • Der Verbinder unterstützt nur Tabellennamen mit ASCII-Buchstaben, Ziffern und Unterstrichen.
  • Sowohl der Arbeitsbereich als auch die Zieltabelle müssen sich in einer der verfügbaren Regionen und beide in derselben Region befinden.

Flüssige gruppierte Tabellen

Von Bedeutung

Schreiben in Tabellen mit Liquid Clustering mit dem Zerobus-Erfassungskonnektor befindet sich in der Betaversion.

Wenn Sie den Zerobus Ingest-Verbinder mit flüssigen gruppierten Tabellen verwenden, empfiehlt es sich, die Vorhersageoptimierung für die Zieltabelle zu aktivieren. Der Anschluss schreibt Daten in die Tabelle, aber optimales Datenclustering wird asynchron vom Dienst zur Vorhersageoptimierung angewendet. Das Deaktivieren der prädiktiven Optimierung kann zu einer suboptimalen Abfrageleistung für die erfassten Daten führen.

Schemaentwicklung

Zerobus Ingest wird Ihre Zieltabelle niemals automatisch weiterentwickeln.

Zerobus Ingest unterstützt das kontinuierliche Ingest, wenn nullable Delta-Spalten zur Zieltabelle hinzugefügt werden. Fehlende Spalten werden mit NULL Werten gefüllt, sodass Sie Datensätze mit fehlenden Feldern senden können.

Protobuf-Schema

Die Protobuf-Schemadefinition muss 1:1 mit dem Delta-Tabellenschema übereinstimmen (mit Ausnahme zusätzlicher nullabler Deltaspalten, die als ungebrochene Schemaänderung betrachtet werden). Wenn das Schema nicht übereinstimmt, gibt die API einen Fehler zurück. Dazu gehören:

  • Unterschiedliche Anzahl von Spalten

  • Unterschiedliche Spaltennamen

  • Unterschiedliche Spalten-Optionalität (nullfähig und nicht nullfähig)

  • Der Connector unterstützt keine Protoschemas mit mehr als 2000 Spalten.

  • Der Verbinder unterstützt nur Tabellen- und Spaltennamen mit ASCII-Buchstaben, Ziffern und Unterstrichen.

  • Der Connector unterstützt es nicht, ein anderes Proto-Schema für die Operationen "Stream-Erstellung" und "Datenaufnahme" zu verwenden.

Datensatzgröße

Jede Nachricht ist auf 10 MB begrenzt. Die Datensatzgröße beträgt maximal 10.485.760 Bytes. Kopfzeilen, die für die Kommunikation erforderlich sind, benötigen 19 Bytes.

Typ-Support

In der folgenden Tabelle sind die unterstützten Delta-Typen und die entsprechenden Protobuf-Typen für die Aufnahme aufgeführt.

Delta-Typen Protobuf-Typen
INTEGER int32
STRING string
FLOAT float
LONG int64
SHORT int32
DOUBLE double
BOOLEAN bool
BINARY bytes
DATE
Sollte in int32 (Anzahl der Tage seit der Epoche) konvertiert werden.
int32
TIMESTAMP
Sollte in int64 (Epochenzeit in Mikrosekunden) konvertiert werden.
int64
ARRAY<TYPE> repeated TYPE
MAP<K,V> map<K,V>
Der map-Protobuf-Syntactic-Sugar ist nur für Protobuf-Compiler ab Version 3 verfügbar.
STRUCT<FIELDS> message Nested { FIELDS }
VARIANT
Variant muss als JSON-codierte Zeichenfolge mit Schlüsseln vom Typ STRINGaufgenommen werden. Der Verbinder schreibt die Daten ungeschreddert in die Spalte.
Folgende Formate werden unterstützt:
  • Objekte: "{\"id\":0,\"example\":\"this is variant example\"}"
  • Grundtypen: "5", "3.14""\"string\""
  • Felder: "[1,2,3]"
string