Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Zerobus Ingest è un'API di streaming basata su push che scrive dati direttamente nelle tabelle Delta del Catalogo Unity ad alta scala, senza un bus di messaggi da eseguire. Elimina lo strato intermedio che molte squadre mettono tra i loro produttori e la casa sul lago. Il flusso di lavoro è composto da due passaggi: creare una tabella e poi inviare i dati ad essa. Un client "hello world" e un carico di lavoro su scala petabyte eseguono essenzialmente lo stesso codice senza alcuna infrastruttura da gestire.
Zerobus Ingest è serverless e aggiunge o rimuove capacità in base alle variazioni del carico. Ha acquisito oltre 1.000 miliardi di record in un'unica tabella in meno di 24 ore (vedi il post del blog Ingesting the Milky Way: Petabyte-Scale with Zerobus Ingest) e scrive i record nel giro di pochi secondi.
- Per l'elenco delle regioni supportate, vedi Disponibilità di ingestione.
Advantages
Zerobus Ingest semplifica l'ingestione adattandosi anche ai carichi di lavoro più elevati:
- Semplice per progettazione. Crea una tabella, poi invia i dati — non ci sono broker, partizioni o pipeline da gestire. Anziché instradare i dati attraverso un bus di messaggi e un processo di ingestione prima che confluiscano nella destinazione, i produttori scrivono direttamente nella tabella, quindi ci sono meno passaggi e meno componenti da gestire.
- Serverless e scalabile. Zerobus Ingest è attivato di default e aggiunge o rimuove capacità man mano che il carico cambia. Puoi scalare eseguendo più producer, non riscrivendo la tua applicazione. Per scoprire come fare, consulta Come si ridimensiona Zerobus Ingest.
- Carichi di lavoro ad alto rendimento. Zerobus Ingest è concepito per l'ingestione su larga scala, supportando velocità di scrittura elevate verso un'unica tabella.
- Freschezza quasi in tempo reale. I documenti arrivano a Delta in pochi secondi e sono pronti quasi subito per le richieste.
- Alta concorrenza. Zerobus Ingest gestisce scritture concorrenti da migliaia di client sulla stessa tabella.
Quando la tua destinazione è la casa sul lago, Zerobus Ingest è il percorso più diretto. Altri strumenti di Azure Databricks si adattano a esigenze adiacenti e funzionano bene insieme a esso:
- Per casi d'uso in cui usi Kafka per supportare i consumatori non Lakehouse, potresti anche voler una copia dei dati creati nel Lakehouse. Usa connettori di streaming gestiti per replicarlo.
- Per i dati già arrivati come file nel cloud, usa Auto Loader.
- Quando hai bisogno di una latenza operativa inferiore al secondo nel percorso di elaborazione, usa la modalità in tempo reale.
Crea una tabella e poi invia i dati
Usare Zerobus Ingest è semplice come creare una tabella e poi inviarvi i dati. Lo schema della tabella definisce cosa deve contenere ogni record. Per prima cosa, crea la tabella target:
CREATE TABLE main.default.air_quality (
device_name STRING,
temp INT,
humidity INT
);
Quindi, per acquisire un record bastano poche righe di codice:
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()
Lo stesso codice che distribuisci in dev può scalare fino a supportare carichi di lavoro di produzione. Per la procedura completa, vedi Use Zerobus Ingest.
Casi d'uso comuni
- IoT e telemetria dei dispositivi: trasmetti in streaming i dati di sensori, veicoli e dispositivi intelligenti da grandi flotte distribuite direttamente nelle tabelle Delta governate.
- Da ambienti on-premises al cloud: collega i sistemi on-premises e ibridi al lakehouse senza dover predisporre un'infrastruttura broker intermedia. Per la connettività privata e la configurazione del firewall, vedi Considerazioni di rete.
- Eventi applicativi e clickstream: invio di eventi da applicazioni cloud ed edge per analisi quasi in tempo reale.
- Acquisizione dei dati modificati (CDC): carica in Delta le modifiche a livello di riga dai sistemi operazionali.
- Dati di osservabilità: invia tracce, log e metriche di OpenTelemetry nelle tabelle Delta di tuo possesso. Vedi Ingestire dati OpenTelemetry con Zerobus Ingest.
Come funziona
Un produttore si collega a Zerobus Ingest e invia i record a una tabella Delta target. Il servizio valida ogni record rispetto allo schema della tabella e rende persistenti i record accettati. Per le interfacce che forniscono conferme di durabilità, Zerobus Ingest riconosce un record dopo che è diventato durabile. I dati vengono materializzati nella tabella poco dopo, tipicamente in pochi secondi. Il design dinamico e senza partizioni di Zerobus Ingest rende l'ingestione elastica, così la sua capacità di elaborazione serverless si adatta ai tuoi carichi di lavoro.
Per una spiegazione più approfondita dei flussi e di come si espande Zerobus Ingest, consulta i concetti di Zerobus Ingest. Per il modello di comunicazione asincrona tra client e server, vedi Comunicazione asincrona.
Modi per inviare dati
Zerobus Ingest è un endpoint che supporta più interfacce, quindi puoi scegliere la soluzione migliore per ogni produttore:
- SDK su gRPC: client di streaming ad alta velocità in Python, Java, Rust, Go, TypeScript e (in Beta) C++ e C# / .NET. Ideale per l'ingestione ordinata ad alto volume. Vedi Creare un client.
- API REST: un'interfaccia senza stato per client leggeri o molto verbosi, come ampie flotte di dispositivi edge. Vedi Creare un client.
- OpenTelemetry (OTLP): configura i collector OpenTelemetry esistenti affinché puntino a Zerobus Ingest per inviare tracce, log e metriche senza alcuna integrazione personalizzata. Vedi Ingestire dati OpenTelemetry con Zerobus Ingest.
- MQTT: pubblica i record JSON delle applicazioni MQTT v5 esistenti tramite TLS. Vedi Utilizzare MQTT con Zerobus Ingest.
- API compatibili con Kafka: indirizza un produttore Apache Kafka esistente verso Zerobus Ingest, senza Azure Databricks SDK. Consulta Utilizzare API compatibili con Kafka con Zerobus Ingest.
Il diagramma seguente mostra come i record provenienti dai flussi sorgente e dalle API scorrono attraverso l'auto-scaling e il bilanciamento del carico verso un pool scalabile orizzontalmente di nodi Zerobus senza stato. Ogni nodo ha un registro di scrittura anticipata e uno scrittore Lakehouse che fa commit batch ai record in una tabella Delta gestita da Unity Catalog. Le etichette sorgente nel diagramma sono rappresentative. MQTT segue lo stesso percorso attraverso il bilanciamento del carico, lo storage durevole e la materializzazione della tabella.
Tutti scrivono direttamente nelle tabelle Delta. Per un confronto completo e come scegliere, vedi protocolli API. Per scrivere il tuo primo client, vedi Usa Zerobus Ingest.
Costo
I costi di Zerobus Ingest sono fatturati in base allo SKU "Automated Serverless". I prezzi sono disponibili nella pagina dei prezzi di Lakeflow Connect.
Monitoraggio dell'utilizzo
Puoi monitorare la tua spesa tramite la tabella del sistema di utilizzo fatturabile. Consultare Tabella di riferimento del sistema di utilizzo fatturabile. Filtrare l'uso di Zerobus Ingest con:
billing_origin_product = 'LAKEFLOW_CONNECT'-
product_features.lakeflow_connect.zerobus_request_typeidentifica come i dati sono stati ingeriti:'GRPC'(SDK streaming),'HTTP'(REST)'OTEL_GRPC'e'OTEL_HTTP'(OpenTelemetry/OTLP),'KAFKA'(API compatibili con Kafka) o'MQTT'(MQTT).
Risorse aggiuntive
- Scrivi un client: SDK e esempi REST per inviare dati a Zerobus Ingest.
- Concetti di Zerobus Ingest: come funzionano gli stream, l'ordine, la durabilità e la scalabilità.
- Approfondimenti su Zerobus Ingest: guide dettagliate, ad esempio sulla gestione degli schemi e sulla rete.
- Quote di Zerobus Ingest: quote e limiti di throughput.
- Prezzi di Lakeflow Connect: prezzi e fatturazione per Zerobus Ingest.