Partager via


Limitations du connecteur d’ingestion Zerobus

Cette page répertorie les limitations lors de l’utilisation du connecteur d’ingestion Zerobus dans Lakeflow Connect.

Disponibilité

Le connecteur d’ingestion Zerobus est disponible dans les régions suivantes :

  • westus
  • westus2
  • westus3
  • eastus
  • eastus2
  • centralus
  • northcentralus
  • southcentralus
  • canadacentral
  • brazilsouth
  • westeurope
  • northeurope
  • germanywestcentral
  • swedencentral
  • switzerlandnorth
  • uksouth
  • australiaeast
  • centralindia
  • southeastasia

Toutes les régions disponibles fournissent une disponibilité de service multizone, à l’exception de westus et de northcentralus qui fournissent une disponibilité d'une seule zone de disponibilité.

Latency

La latence reflète à la fois la confirmation de la durabilité et le délai nécessaire pour concrétiser les enregistrements dans la table au format Delta cible. Les temps réels varient en fonction de l’alignement de la région et des caractéristiques de charge de travail.

  • Temps jusqu'à la durabilité
    • P95 ≤ 500 ms
    • P50 ≤ 200 ms
  • Durée de la table
    • P95 ≤ 30 secondes
    • P50 ≤ 5 secondes

Restrictions de débit

  • 100 Mo/seconde par flux (benchmarké avec des messages de taille de 1 Ko)
  • 10 Go/seconde par table cible
  • 15 000 enregistrements par seconde par flux

Pour obtenir un débit maximal, une application cliente et un point de terminaison doivent se trouver dans la même région géographique. Si vous avez besoin d’un débit plus élevé, contactez votre représentant de compte Databricks.

Garanties de livraison

Le connecteur d’ingestion Zerobus fournit uniquement des garanties au moins une fois.

Quotas

Voici les quotas par défaut pour le connecteur d’ingestion Zerobus. Si vous avez besoin de performances plus élevées, contactez votre représentant de compte Databricks.

gRPC

  • 100 Mo par seconde de débit par flux
  • 10 Go par seconde de débit par table cible

REST

  • 10 000 requêtes par seconde

tables partitionnées

Lors de l’écriture dans des tables partitionnées, le connecteur Zerobus Ingest ne supporte pas l’écriture dans plus de 1 000 partitions sur des intervalles de 5 secondes.

Commits gérés par le catalogue

Zerobus Ingest ne prend pas en charge les commits gérés par le catalogue. N’utilisez pas l’ingestion Zerobus pour les tables Delta avec des validations gérées par le catalogue activées.

Espace de travail et tableau cible

Les conditions d’espace de travail et de table cible suivantes sont requises pour l’ingestion.

  • Le connecteur prend en charge l’écriture uniquement dans les tables Delta managées. L’écriture dans le stockage par défaut n’est pas prise en charge.
  • Le connecteur ne prend pas en charge l'écriture dans le stockage sécurisé via un point de terminaison privé.
  • Le connecteur ne prend pas en charge la recréation d’une table cible.
  • Le connecteur prend uniquement en charge les noms de tables avec des lettres ASCII, des chiffres et des traits de soulignement.
  • L’espace de travail et la table cible doivent se trouver dans l’une des régions disponibles, et les deux dans la même région.

Tables en cluster liquide

Important

L’utilisation du connecteur d’ingestion Zerobus pour écrire dans des tables en cluster liquide est en version bêta.

Lorsque vous utilisez le connecteur d’ingestion Zerobus avec des tables en cluster liquides, il est recommandé de maintenir l’optimisation prédictive activée pour la table cible. Le connecteur écrit des données dans la table, mais le clustering de données optimal est appliqué de manière asynchrone par le service d’optimisation prédictive. La désactivation de l’optimisation prédictive peut entraîner des performances de requête non optimales sur les données ingérées.

Espaces de travail de conformité des profils de sécurité

Le connecteur Zerobus Ingest n’est pas pris en charge pour les espaces de travail de profil de sécurité de conformité (tels que FedRAMP, HIPAA et PCI-DSS). N’utilisez pas le connecteur d’ingestion Zerobus pour les charges de travail qui nécessitent des garanties de conformité. Pour obtenir la liste des normes et programmes de conformité pris en charge, consultez le profil de sécurité conformité.

Évolution du schéma

Zerobus Ingest ne fera jamais évoluer automatiquement votre table cible.

Zerobus Ingest prend en charge l’ingestion en continu lorsque des colonnes Delta pouvant être nulles sont ajoutées dans la table cible. Les colonnes manquantes sont remplies de NULL valeurs, ce qui vous permet d’envoyer des enregistrements avec des champs manquants.

Schéma Protobuf

La définition du schéma protobuf doit correspondre exactement au schéma de table Delta (à l’exception des colonnes delta supplémentaires nullables, qui sont considérées comme une modification de schéma non rupturante). Si le schéma ne correspond pas, l’API retourne une erreur. Cela inclut les éléments suivants :

  • Nombre différent de colonnes

  • Noms de colonnes différents

  • Option de colonne différente (nullable et non nullable)

  • Le connecteur ne prend pas en charge les schémas proto avec plus de 2 000 colonnes.

  • Le connecteur prend uniquement en charge les noms de tables et de colonnes avec des lettres ASCII, des chiffres et des traits de soulignement.

  • Le connecteur ne prend pas en charge l’utilisation d’un schéma proto différent pour les opérations « création de flux » et « ingestion d’enregistrement ».

Taille de l’enregistrement

Chaque message est limité à 10 Mo. La taille maximale de l’enregistrement est de 10 485 760 octets. Les en-têtes requis pour la communication prennent jusqu’à 19 octets.

Prise en charge des types

Le tableau suivant présente les types Delta pris en charge et leurs types Protobuf correspondants pour l’ingestion.

Types delta Types Protobuf
INTEGER int32
STRING string
FLOAT float
LONG int64
SHORT int32
DOUBLE double
BOOLEAN bool
BINARY bytes
DATE
Doit être converti en int32 (nombre de jours depuis l'époque).
int32
TIMESTAMP
Doit être converti en int64 (heure epoch en microsecondes).
int64
ARRAY<TYPE> repeated TYPE
MAP<K,V> map<K,V>
Le map sucre syntactique Protobuf est disponible uniquement pour les compilateurs Protobuf version 3 et ultérieure.
STRUCT<FIELDS> message Nested { FIELDS }
VARIANT
La variante doit être ingérée en tant que chaîne encodée JSON avec des clés de type STRING. Le connecteur inscrit les données intégrales dans la colonne.
Les formats pris en charge sont les suivants :
  • Objets: "{\"id\":0,\"example\":\"this is variant example\"}"
  • Primitives : "5", "3.14", "\"string\""
  • Tableaux: "[1,2,3]"
string