Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Zerobus Ingest est une API d’ingestion basée sur push qui écrit des données directement dans les tables Delta du catalogue Unity. Il s’agit d’un connecteur sans serveur qui s'adapte automatiquement pour gérer les connexions entrantes. Il ne nécessite pas de configuration des partitions ou de la gestion des répartiteurs.
Avec Zerobus Ingest, votre « stratégie de mise à l’échelle » consiste à ouvrir davantage de connexions. Cela simplifie les flux de travail d’ingestion en éliminant la nécessité d’une infrastructure de bus de messages.
Toute application qui peut s’intégrer aux kits SDK Zerobus Ingest ou communiquer via des API prises en charge (gRPC, REST et OpenTelemetry) peut utiliser Zerobus Ingestion pour envoyer des données efficacement dans des tables Delta.
Les mémoires tampons d’ingestion Zerobus transmettent des données avant de les ajouter à une table Delta. Cette mise en mémoire tampon crée un mécanisme d’ingestion efficace et durable qui prend en charge un volume élevé de clients avec un débit variable.
Une fois matérialisées au format Delta, les données sont entièrement compatibles avec la plateforme Databricks Data Intelligence complète, ce qui permet aux utilisateurs de tirer parti d’outils et de fonctionnalités familiers pour une analyse et un traitement des données supplémentaires.
Les concepts
Un producteur de données ouvre d’abord un flux vers l’API Zerobus Ingest et spécifie une table Delta cible, construit un message correspondant à son schéma, puis envoie (push) le message via le flux ouvert. Le service rend les données durables, reconnaît le message du client et matérialise les données dans la table Delta de manière optimisée.
Flux de données
Un flux est une connexion directe entre votre client et le serveur d’ingestion Zerobus. Les kits SDK utilisent des flux pour faciliter les connexions à long terme et à débit élevé.
- Les « streams » sont utilisés uniquement dans l'API gRPC avec les SDKs.
- Un flux ingère des données dans une table cible unique.
- L'ordre de livraison des événements est garanti au niveau de flux.
- Des flux supplémentaires peuvent être ouverts pour écrire des données dans différentes tables.
- Des flux supplémentaires peuvent être ouverts pour augmenter le débit du client.
- Note: Si votre client distribue les messages de manière alternée aux différents flux, l'ordre ne sera plus garanti.
Serveur
Le service d’ingestion Zerobus ne crée pas ou manipule automatiquement des tables. Les utilisateurs doivent créer eux-mêmes la table. Les tables et leurs schémas sont les sources faisant autorité pour les attentes des données entrantes.
Le serveur d’ingestion Zerobus accepte les données envoyées par les clients, valide qu’il correspond au schéma de la table cible, puis l’écrit dans la table. Si les données s'intègrent dans la table, elles seront pérennes. Un accusé de réception est ensuite renvoyé au client.
Les responsabilités de service sont les suivantes :
- Validation du schéma du message dans la table.
- Matérialisation des données en temps opportun dans la table cible.
- Envoi d’un accusé de réception au client indiquant que les données sont durables.
Client
L’intégration du client implique :
- Sélection d’une table cible.
- Établir un flux avec le service d’ingestion Zerobus.
- Construction d’un message compatible avec le schéma.
- Envoi du message.
- Gestion des accusés de réception des messages.
- Implémentation de mécanismes de récupération en cas d’échecs côté client, de flux ou côté serveur (par exemple, problèmes de connexion, incompatibilités de schéma)
Les kits SDK Zerobus Ingest fournissent des méthodes conviviales pour accomplir l’intégration du client, et la documentation propose des exemples de différents modèles de développement. Pour les intégrations personnalisées, les kits SDK peuvent servir de référence pour la gestion de la structure d’intégration et de la récupération.
Démarrez avec Zerobus Ingest
- Obtenez une URL d’ingestion Zerobus.
- Créez ou identifiez la table dans laquelle vous souhaitez ingérer des données.
- Créez un principal de service et accordez des privilèges à la table.
- Connectez un client ou un exportateur pour commencer à envoyer des données.
Choisissez le guide de votre cas d’usage :
Ingérez vos propres données : utilisez les SDK Zerobus ou l'API REST avec un schéma que vous définissez. Pour obtenir des instructions complètes, consultez Utiliser le connecteur d’ingestion Zerobus.
Ingérer des données OpenTelemetry : utilisez des SDKs OpenTelemetry standard ou des collecteurs pour envoyer des traces, des logs et des mesures dans des schémas de table prédéfinis. Pour obtenir des instructions complètes, consultez Ingestion des données OpenTelemetry avec Zerobus Ingest.
Solution de site alternatif durable
Si une modification majeure est apportée à votre table cible après que Zerobus Ingest ait rendu vos données durables avant d’avoir la possibilité de publier (envoyer un fichier au stockage), le connecteur fournira les données dans un dossier séparé dans le répertoire de stockage de votre table.
Les données sont conservées sous la forme de fichiers Parquet dans le chemin suivant par rapport au répertoire racine de la table : _zerobus/table_rejected_parquets/
Ce répertoire est créé directement sous l’emplacement de stockage racine physique de la table, et tous les fichiers Parquet générés par le service y sont écrits. Cela garantit que toutes les données persistantes restent dans la limite de stockage de la table et suivent les mêmes contrôles d’accès et stratégies de cycle de vie que la table elle-même.
Coûts
Les frais d'ingestion Zerobus seront facturés selon la référence SKU « Automated Serverless ». La tarification est disponible sur la page de tarification lakeflow Connect.
Surveillance de votre utilisation
Il existe deux méthodes pour surveiller l’utilisation de votre connecteur d’ingestion Zerobus.
Tables système d'ingestion Zerobus
Vous pouvez surveiller votre utilisation via les tables système Zerobus Ingest. Consultez la référence de table du système Zerobus Ingest.
Table système de facturation
Vous pouvez surveiller vos dépenses via le tableau du système d'utilisation facturable. Consultez la Table de référence du système d'utilisation facturable. Filtrez l’utilisation de l’ingestion Zerobus avec :
billing_origin_product = 'LAKEFLOW_CONNECT'-
product_features.lakeflow_connect.zerobus_request_type = 'GRPC'ou'HTTP'
Important
L'absorption d'OpenTelemetry (OTLP) est en version bêta et n'est pas facturée pour le moment.