Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zerobus Ingest to API streamingowe oparte na push, które zapisuje dane bezpośrednio do tabel Unity Catalog Delta na dużą skalę, bez konieczności uruchamiania magistrali wiadomości. Usuwa to środkową warstwę, którą wiele zespołów stawia między swoimi producentami a domem nad jeziorem. Workflow składa się z dwóch etapów: utworzenie tabeli, a następnie przesyłanie do niej danych. Klient "hello world" i obciążenie w skali petabajtów uruchamiają zasadniczo ten sam kod bez infrastruktury do zarządzania.
Zerobus Ingest jest bezserwerowy, dodając i usuwając pojemność wraz ze zmianą obciążenia. W ciągu niecałych 24 godzin przechłonął ponad bilion rekordów do jednej tabeli (patrz wpis na blogu Ingesting the Milky Way: Petabyte-Scale with Zerobus Ingest ) i ustanawia rekordy w ciągu kilku sekund.
- Aby uzyskać listę obsługiwanych regionów, zobacz Dostępność pozyskiwania danych.
Advantages
Zerobus Ingest upraszcza ingestację, jednocześnie skalując ją do największych obciążeń:
- Proste z założenia. Stwórz tabelę, a następnie przesyłaj do niej dane — nie ma brokerów, partycji ani potoków do zarządzania. Zamiast kierować dane przez magistralę komunikatów i proces importu, zanim trafią do tabeli, producenci zapisują je bezpośrednio do tabeli, dzięki czemu jest mniej etapów pośrednich i mniej elementów wymagających obsługi.
- Bezserwerowe i elastyczne. Zerobus Ingest jest domyślnie włączony i dodaje lub usuwa pojemność wraz ze zmianami obciążenia. Skalowanie osiąga się przez uruchamianie większej liczby producentów, a nie przez przepisywanie aplikacji. Aby dowiedzieć się, jak to działa, zobacz Jak skaluje się usługa Zerobus Ingest.
- Obciążenia o wysokiej przepustowości. Zerobus Ingest został zaprojektowany z myślą o pozyskiwaniu danych na dużą skalę, zapewniając wysokie tempo zapisu do jednej tabeli.
- Świeżość niemal w czasie rzeczywistym. Rekordy trafiają do Delty w ciągu kilku sekund i są gotowe do zapytań niemal natychmiast po przybyciu.
- Wysoka współbieżność. Zerobus Ingest obsługuje jednoczesne zapisy tysięcy klientów do tej samej tabeli.
Gdy twoim celem jest domek nad jeziorem, Zerobus Ingest jest najkrótszą ścieżką. Inne narzędzia Azure Databricks spełniają powiązane potrzeby i dobrze współpracują z nimi:
- W przypadkach, gdy uruchamiasz Kafkę do obsługi użytkowników spoza Lakehouse, możesz również potrzebować kopii danych stworzonych w Lakehouse. Użyj zarządzanych konektorów do przesyłania strumieniowego, aby to zreplikować.
- Dla danych, które już trafiły jako pliki do chmury, użyj Auto Loader.
- Gdy potrzebujesz opóźnienia operacyjnego poniżej sekundy na ścieżce przetwarzania, użyj trybu czasu rzeczywistego.
Stwórz tabelę, a następnie wypchnij dane
Korzystanie z Zerobus Ingest jest tak proste, jak utworzenie tabeli i przesłanie do niej danych. Schemat tabeli definiuje, co każdy rekord musi zawierać. Najpierw stwórz tabelę docelową:
CREATE TABLE main.default.air_quality (
device_name STRING,
temp INT,
humidity INT
);
Następnie zaimportowanie rekordu wymaga tylko kilku linii kodu:
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()
Ten sam kod, który wdrażasz w środowisku deweloperskim, może skalować się do obsługi obciążeń produkcyjnych. Pełny przegląd znajdziesz w artykule Użyj Zerobus Ingest.
Typowe przypadki użycia
- Telemetria IoT i urządzeń: przesyłanie danych z czujników, pojazdów i urządzeń inteligentnych bezpośrednio z dużych rozproszonych flot do zarządzanych tabel Delta.
- Ze środowisk lokalnych do chmury: połącz systemy lokalne i hybrydowe z lakehouse bez konieczności wdrażania po drodze infrastruktury brokera. W przypadku prywatnej łączności i konfiguracji zapory ogniowej, zobacz Uwagi dotyczące sieci.
- Zdarzenia aplikacji i strumienia kliknięć: przesyłanie zdarzeń z aplikacji chmurowych i brzegowych na potrzeby analityki niemal w czasie rzeczywistym.
- Przechwytywanie zmian danych (CDC): przechwytywanie zmian wierszy z systemów operacyjnych do Delta.
- Dane obserwowalności: przesyłaj śledzenia, logi i metryki OpenTelemetry do tabel Delta, które posiadasz. Zobacz pozyskiwanie danych OpenTelemetry za pomocą Zerobus Ingest.
Jak to działa
Producent łączy się z Zerobus Ingest i wysyła rekordy do docelowej tabeli Delta. Usługa waliduje każdy rekord względem schematu tabeli i trwale zapisuje zaakceptowane rekordy. W interfejsach zapewniających potwierdzenia trwałości Zerobus Ingest potwierdza zapis po zapewnieniu jego trwałości. Dane są materializowane w tabeli niedługo potem, zazwyczaj w ciągu kilku sekund. Dynamiczna, bezpartycjowa architektura Zerobus Ingest sprawia, że pozyskiwanie danych jest elastyczne, dzięki czemu jego bezserwerowe zasoby obliczeniowe skalują się wraz z obciążeniem.
Aby uzyskać bardziej szczegółowe wyjaśnienie strumieni i tego, jak skaluje się Zerobus Ingest, zobacz sekcję Podstawowe pojęcia dotyczące Zerobus Ingest. Aby uzyskać model komunikacji asynchronicznej klient-serwer, zobacz Komunikacja asynchroniczna.
Sposoby przesyłania danych
Zerobus Ingest to jeden endpoint wspierający wiele interfejsów, dzięki czemu możesz wybrać najlepszy model dla każdego producenta:
- SDK-i oparte na gRPC: klienci strumieniowi o wysokiej przepustowości w Pythonie, Javie, Ruście, Go, TypeScript oraz (w wersji beta) C++ i C# / .NET. Najlepsze do zamówionego spożycia o dużej objętości. Zobacz Tworzenie klienta.
- REST API: bezstanowy interfejs dla lekkich lub intensywnie komunikujących się klientów, takich jak duże floty urządzeń brzegowych. Zobacz Tworzenie klienta.
- OpenTelemetry (OTLP): skieruj istniejące kolektory OpenTelemetry do Zerobus Ingest, aby przesyłać ślady, logi i metryki bez potrzeby tworzenia niestandardowej integracji. Zobacz pozyskiwanie danych OpenTelemetry za pomocą Zerobus Ingest.
- MQTT: publikuj rekordy JSON z istniejących aplikacji MQTT v5 przez TLS. Zobacz Korzystanie z MQTT z Zerobus Ingest.
- Interfejsy API zgodne z Kafka: skieruj istniejącego producenta Apache Kafka do Zerobus Ingest bez użycia zestawu SDK usługi Azure Databricks. Zobacz Używaj API kompatybilnych z Kafką z Zerobus Ingest.
Poniższy diagram pokazuje, jak rekordy ze strumieni źródłowych i interfejsów API przechodzą przez mechanizmy automatycznego skalowania i równoważenia obciążenia do poziomo skalowalnej puli węzłów bezstanowych Zerobus. Każdy węzeł ma dziennik wyprzedzający zapis oraz moduł zapisu do Lakehouse, który zatwierdza rekordy partiami do tabeli Delta zarządzanej przez Unity Catalog. Etykiety źródłowe na diagramie są przykładowe. MQTT przechodzi tą samą ścieżkę przez równoważenie obciążenia, trwałą pamięć masową i materializację tabel.
Wszystkie zapisują dane bezpośrednio do tabel Delta. Pełne porównanie i sposób wyboru znajdziesz w artykule o protokołach API. Aby napisać swojego pierwszego klienta, zobacz Użyj Zerobus Ingest.
Koszt
Opłaty za pozyskiwanie danych przez Zerobus są rozliczane w ramach jednostki SKU „Automated Serverless”. Cennik jest dostępny na stronie cennika programu Lakeflow Connect.
Monitorowanie użycia
Możesz monitorować swoje wydatki za pomocą tabeli systemu rozliczalnego zużycia. Zobacz tabelę referencyjną systemu opłat. Filtruj według użycia Zerobus Ingest.
billing_origin_product = 'LAKEFLOW_CONNECT'-
product_features.lakeflow_connect.zerobus_request_typeidentyfikuje, w jaki sposób dane zostały pozyskane:'GRPC'(SDK streaming),'HTTP'(REST),'OTEL_GRPC'i'OTEL_HTTP'(OpenTelemetry/OTLP),'KAFKA'(API kompatybilne z Kafką) lub'MQTT'(MQTT).
Dodatkowe zasoby
- Napisz klienta: SDK i przykłady REST do przesyłania danych do Zerobus Ingest.
- Koncepcje Zerobus Ingest: jak działają strumienie, kolejność, trwałość i skalowanie.
- Zerobus Ingest deep dives: szczegółowe przewodniki, takie jak zarządzanie schematem i networking.
- Przydziały pozyskiwania danych Zerobus: przydziały i limity przepustowości.
- Ceny Lakeflow Connect: ceny i rozliczenia dla Zerobus Ingest.