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 de streaming basée sur le push qui écrit les données directement dans les tables Delta du catalogue Unity à grande échelle, sans bus de messages à exécuter. Cela supprime la couche intermédiaire que de nombreuses équipes placent entre leurs producteurs et la maison du lac. Le flux de travail se compose de deux étapes : créer une table, puis y envoyer les données. Un client « hello world » et une charge de travail à l’échelle pétaoctets exécutent essentiellement le même code sans infrastructure à gérer.
Zerobus Ingest est sans server, ajoutant et supprimant de la capacité à mesure que la charge change. Il a ingéré plus de mille milliards d’enregistrements dans une table unique en moins de 24 heures (voir le billet de blog Ingesting the Milky Way: Petabyte-Scale with Zerobus Ingest), et met les enregistrements à disposition en quelques secondes.
- Pour la liste des régions prises en charge, voir Disponibilité de l’ingestion.
Advantages
Zerobus Ingest maintient l’ingestion simple tout en s’adaptant aux charges de travail les plus importantes :
- Simple par conception. Créez une table, puis envoiez les données vers celle-ci — il n’y a ni courtiers, ni partitions, ni pipelines à gérer. Plutôt que de router les données via un bus de messages et une tâche d’ingestion avant qu’elles n’arrivent, les producteurs écrivent directement sur la table, ce qui réduit les sauts et moins de pièces mobiles à exploiter.
- Sans serveur et élastique. L’ingestion de Zerobus est activée par défaut et ajoute ou supprime de la capacité au fur et à mesure que la charge change. La montée en charge se fait en exécutant davantage de producteurs, pas en réécrivant votre application. Pour savoir comment, voyez comment l’ingestion de Zerobus évolue.
- Charges de travail à haut débit. Zerobus Ingest est conçu pour l’ingestion à grande échelle, en maintenant des débits d’écriture élevés dans une seule table.
- Fraîcheur en temps quasi réel. Les dossiers arrivent sur Delta en quelques secondes et sont prêts à répondre aux requêtes presque dès leur arrivée.
- Concurrence élevée. Zerobus Ingest gère les écritures concurrentes de milliers de clients sur la même table.
Quand votre destination est la maison du lac, Zerobus Ingest est le chemin le plus direct. D’autres outils Azure Databricks répondent aux besoins adjacents et fonctionnent bien en parallèle :
- Pour les cas d’utilisation où vous utilisez Kafka pour supporter les utilisateurs non-Lakehouse, vous pouvez aussi vouloir une copie des données produites dans le Lakehouse. Utilisez des connecteurs de streaming gérés pour le reproduire.
- Pour les données déjà déposées sous forme de fichiers dans le stockage cloud, utilisez Auto Loader.
- Lorsque vous avez besoin d’une latence opérationnelle inférieure à une seconde dans le chemin de traitement, utilisez le mode temps réel.
Créez une table, puis importez des données
Utiliser Zerobus Ingest est aussi simple que de créer une table puis d’y envoyer des données. Le schéma de la table définit ce que chaque enregistrement doit contenir. D’abord, créez la table cible :
CREATE TABLE main.default.air_quality (
device_name STRING,
temp INT,
humidity INT
);
Ensuite, l’ingestion d’un enregistrement ne nécessite que quelques lignes de code :
from zerobus.sdk.sync import ZerobusSdk
from zerobus.sdk.shared import TableProperties
sdk = ZerobusSdk(SERVER_ENDPOINT, DATABRICKS_WORKSPACE_URL)
table_properties = TableProperties("main.default.air_quality")
stream = sdk.create_stream(CLIENT_ID, CLIENT_SECRET, table_properties)
stream.ingest_record_offset({"device_name": "sensor-1", "temp": 22, "humidity": 55})
# ingest more records...
stream.close()
Le même code que vous livrez en développement peut s’adapter à des charges de travail en production. Pour la procédure complète, consultez Utiliser Zerobus Ingest.
Cas d’usage courants
- Télémétrie IoT et des appareils : diffusez en continu les données de capteurs, de véhicules et d’appareils intelligents issues de vastes flottes distribuées directement dans des tables Delta gouvernées.
- Des environnements on-premises au cloud : connectez les systèmes on-premises et hybrides au lakehouse sans déployer d’infrastructure de médiation intermédiaire. Pour la connectivité privée et la configuration du pare-feu, voir Considérations réseau.
- Événements d’application et de flux de clics : déployez les événements depuis des applications cloud et en périphérie pour des analyses quasi en temps réel.
- Capture des données modifiées (CDC) : intègre dans Delta les modifications de lignes provenant des systèmes opérationnels.
- Données d’observabilité : envoyez les traces, journaux et métriques OpenTelemetry vers des tables Delta dont vous êtes propriétaire. Voir Importer des données OpenTelemetry avec Zerobus Ingest.
Fonctionnement
Un producteur ouvre un flux vers Zerobus Ingest et envoie des enregistrements vers la table Delta cible. Le service valide chaque enregistrement par rapport au schéma de la table et le rend durable. Une fois qu’un disque est durable, Zerobus Ingest le reconnaît rapidement, afin que votre producteur puisse continuer à envoyer des disques sans attendre pour chacun d’eux. Les données sont matérialisées dans la table peu après, généralement en quelques secondes. La conception dynamique et sans partition de Zerobus Ingest rend l’ingestion élastique, ce qui permet à son calcul serverless de s’adapter à vos charges de travail.
Pour une explication plus approfondie des flux et de la façon dont Zerobus Ingest passe à l’échelle, consultez les concepts de Zerobus Ingest. Pour le modèle de communication asynchrone client-serveur, voir Communication asynchrone.
Moyens d’envoyer des données
Zerobus Ingest est un point d’accès qui prend en charge plusieurs interfaces, vous pouvez donc choisir la meilleure option pour chaque producteur :
- SDKs sur gRPC : clients de streaming à haut débit en Python, Java, Rust, Go, TypeScript, et (en version Bêta) C++ et C# / .NET. Idéal pour une ingestion ordonnée à haut volume. Voir Écrire un client.
- API REST : une interface sans état pour des clients légers ou « très communicants », tels que de vastes flottes d’appareils en périphérie. Voir Écrire un client.
- OpenTelemetry (OTLP) : configurez les collecteurs OpenTelemetry existants pour qu’ils envoient les traces, journaux et métriques vers Zerobus Ingest, sans aucune intégration personnalisée. Voir Importer des données OpenTelemetry avec Zerobus Ingest.
- API compatibles avec Kafka (Bêta) : configurez un producteur Apache Kafka existant pour qu’il pointe vers Zerobus Ingest, sans le SDK Azure Databricks. Voir Utiliser des API compatibles Kafka avec Zerobus Ingest.
Ils écrivent tous directement dans les tables Delta. Pour une comparaison complète et la façon de choisir, voir protocoles API. Pour écrire votre premier client, consultez Use Zerobus Ingest.
Coûts
Les frais d’ingestion Zerobus sont 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
Vous pouvez suivre vos dépenses via la table 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_typeidentifie comment les données ont été ingérées :'GRPC'(SDK streaming),'HTTP'(REST)'OTEL_GRPC'et'OTEL_HTTP'(OpenTelemetry/OTLP), ou'KAFKA'(API compatibles Kafka).
Ressources additionnelles
- Écrivez un client : SDK et des exemples REST pour envoyer des données vers Zerobus Ingest.
- Concepts d’ingestion de Zerobus : fonctionnement des flux, de l’ordre, de la durabilité et de la mise à l’échelle.
- Analyses approfondies de Zerobus Ingest : guides détaillés, tels que la gestion des schémas et la mise en réseau.
- Quotas d’ingestion Zerobus : quotas et limites de débit.
- Tarification Lakeflow Connect : tarification et facturation pour Zerobus Ingest.