Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Zerobus Ingest é uma API de streaming orientada por push que grava dados diretamente em tabelas Delta do Catálogo do Unity em alta escala, sem precisar operar um barramento de mensagens. Isso remove a camada intermediária que muitas equipes colocam entre seus produtores e a casa do lago. O fluxo de trabalho é composto por duas etapas: criar uma tabela e depois enviar dados para ela. Um cliente "hello world" e uma carga de trabalho em escala petabyte rodam essencialmente o mesmo código sem infraestrutura para gerenciar.
O Zerobus Ingest é serverless, adicionando e removendo capacidade conforme a carga muda. Ele ingeriu mais de 1 trilhão de registros em uma única tabela em menos de 24 horas (veja a postagem do blog Ingesting the Milky Way: Petabyte-Scale with Zerobus Ingest) e disponibiliza os registros em segundos.
- Para obter uma lista das regiões compatíveis, confira Disponibilidade de ingestão.
Advantages
O Zerobus Ingest mantém a ingestão simples, ao mesmo tempo em que escala para dar suporte às maiores cargas de trabalho:
- Simples por design. Crie uma tabela e depois envie dados para ela — não há corretores, partições ou pipelines para gerenciar. Em vez de encaminhar os dados por um barramento de mensagens e um processo de ingestão antes de chegarem à tabela, os produtores gravam diretamente na tabela, de modo que há menos etapas intermediárias e menos componentes para gerenciar.
- Sem servidor e elástico. O Zerobus Ingest está ativado por padrão e adiciona ou remove capacidade conforme a carga muda. Você escala executando mais produtores, não reescrevendo o aplicativo. Para saber como, veja como o Zerobus Ingest escala.
- Cargas de trabalho de alta produtividade. O Zerobus Ingest foi projetado para ingestão em larga escala, suportando taxas elevadas de escrita em uma única tabela.
- Atualização quase em tempo real. Os registros chegam à Delta em segundos e ficam prontos para consultas quase assim que chegam.
- Alta concorrência. O Zerobus Ingest lida com gravações concorrentes vindas de milhares de clientes na mesma tabela.
Quando seu destino é a casa do lago, o Zerobus Ingest é o caminho mais direto. Outras ferramentas do Azure Databricks atendem a necessidades adjacentes e funcionam bem junto com elas:
- Para casos de uso em que você está usando o Kafka para apoiar consumidores que não são do Lakehouse, você também pode querer uma cópia dos dados feitos no Lakehouse. Use conectores de streaming gerenciados para replicá-lo.
- Para dados já armazenados como arquivos no armazenamento em nuvem, use Auto Loader.
- Quando você precisar de latência operacional inferior a um segundo no caminho de processamento, use o modo em tempo real.
Crie uma tabela e depois envie dados
Usar o Zerobus Ingest é tão simples quanto criar uma tabela e depois enviar dados para ela. O esquema da tabela define o que cada registro deve conter. Primeiro, crie a tabela alvo:
CREATE TABLE main.default.air_quality (
device_name STRING,
temp INT,
humidity INT
);
Em seguida, importar um registro requer apenas algumas linhas de código:
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()
O mesmo código que você entrega em desenvolvimento pode escalar para atender a cargas de trabalho de produção. Para o passo a passo completo, consulte Use Zerobus Ingest.
Casos de uso comuns
- IoT e telemetria de dispositivos: transmitir dados de sensores, veículos e dispositivos inteligentes de grandes frotas distribuídas diretamente para tabelas Delta governadas.
- Do ambiente local para a nuvem: conecte sistemas locais e híbridos ao lakehouse sem precisar implantar infraestrutura de agentes intermediária. Para conectividade privada e configuração de firewall, veja Considerações de rede.
- Eventos de aplicação e fluxo de cliques: envie eventos de aplicações de nuvem e de borda para análises em tempo quase real.
- Captura de dados de mudança (CDC): mudanças na linha terrestre dos sistemas operacionais para a Delta.
- Dados de observabilidade: envie traços, logs e métricas do OpenTelemetry para as tabelas Delta que você possui. Veja Ingerir dados do OpenTelemetry com o Zerobus Ingest.
Como funciona
Um produtor abre uma transmissão para o Zerobus Ingest e envia registros para uma tabela Delta de destino. O serviço valida cada registro contra o esquema da tabela e o torna durável. Uma vez que um disco é durável, o Zerobus Ingest o reconhece rapidamente, para que seu produtor possa continuar enviando discos sem precisar esperar por cada um. Os dados são materializados na tabela logo depois, normalmente em segundos. O design dinâmico e sem particionamento do Zerobus Ingest torna a ingestão elástica, o que permite que sua capacidade de computação sem servidor acompanhe a escala das suas cargas de trabalho.
Para uma explicação mais detalhada sobre os fluxos e como o Zerobus Ingest é escalado, confira conceitos do Zerobus Ingest. Para o modelo de comunicação assíncrona entre cliente e servidor, veja Comunicação assíncrona.
Maneiras de enviar dados
Zerobus Ingest é um endpoint que suporta múltiplas interfaces, então você pode escolher a que melhor se encaixa para cada produtor:
- SDKs via gRPC: clientes de streaming de alta vazão em Python, Java, Rust, Go, TypeScript e (em beta) C++ e C# / .NET. Ideal para ingestão ordenada em alto volume. Veja Escreva um cliente.
- API REST: uma interface sem estado para clientes leves ou que se comunicam com frequência, como grandes frotas de dispositivos de borda. Veja Escreva um cliente.
- OpenTelemetry (OTLP): aponte os coletores OpenTelemetry existentes para o Zerobus Ingest para enviar rastreamentos, logs e métricas sem precisar de integração personalizada. Veja Ingerir dados do OpenTelemetry com o Zerobus Ingest.
- APIs compatíveis com Kafka (Beta): apontar um produtor Apache Kafka existente para o Zerobus Ingest, sem o Azure Databricks SDK. Veja Usar APIs compatíveis com Kafka com o Zerobus Ingest.
Todos eles escrevem diretamente nas tabelas Delta. Para uma comparação completa e como escolher, veja protocolos API. Para criar seu primeiro cliente, consulte Usar o Zerobus Ingest.
Custo
Os encargos para o Zerobus Ingest são cobrados sob o SKU "Automatizado Sem servidor". Os preços estão disponíveis na página de preços do Lakeflow Connect.
Monitorando seu uso
Você pode monitorar seus gastos pela tabela do sistema de uso faturável. Veja Tabela de referência do sistema de uso faturável. Filtrar o uso de Ingestão do Zerobus com:
billing_origin_product = 'LAKEFLOW_CONNECT'-
product_features.lakeflow_connect.zerobus_request_typeidentifica como os dados foram ingeridos:'GRPC'(streaming de SDK),'HTTP'(REST)'OTEL_GRPC'e'OTEL_HTTP'(OpenTelemetry/OTLP), ou'KAFKA'(APIs compatíveis com Kafka).
Recursos adicionais
- Criar um cliente: exemplos de SDK e REST para enviar dados ao Zerobus Ingest.
- Conceitos do Zerobus Ingest: como funcionam os streams, a ordenação, a durabilidade e a escalabilidade.
- Zerobus Ingest mergulha profunda: guias detalhados, como gerenciamento de esquemas e rede.
- Cotas de ingestão do Zerobus: cotas e limites de taxa de transferência.
- Preços da Lakeflow Connect: preços e faturamento para Zerobus Ingest.