Suporte a Apache Arrow Flight no Zerobus Ingest
Envie dados no formato Apache Arrow diretamente para o Zerobus Ingest sem precisar converter cada linha para JSON ou protobuf.
O que mudou
O suporte ao Apache Arrow Flight no Zerobus Ingest agora está disponível de forma geral. Ele permite enviar lotes de registros no formato columnar nativo do Arrow diretamente por gRPC, reduzindo a sobrecarga de serialização e processamento em CPU para aplicações analíticas.### Para que serveImagine que sua aplicação gera DataFrames ou tabelas em memória usando bibliotecas como Pyarrow, Polars ou DataFusion e você precisa ingestar esses dados rapidamente em uma tabela Delta. Dá para:- Enviar blocos de dados em lote (RecordBatch ou Table) em vez de linha por linha.- Reduzir o custo de CPU em esquemas largos e numéricos.- Opcionalmente comprimir os payloads em trânsito com LZ4 ou ZSTD.### Como usarInstale o pacote com suporte a Arrow e abra um stream de ingestão com o SDK em Python ou Rust.Bashpip install "databricks-zerobus-ingest-sdk[arrow]"Python```import pyarrow as pa
from zerobus.sdk.sync import ZerobusSdk
SERVER_ENDPOINT = "https://1234567890123456.zerobus.us-west-2.cloud.databricks.com" DATABRICKS_WORKSPACE_URL = "https://dbc-a1b2c3d4-e5f6.cloud.databricks.com" TABLE_NAME = "main.default.air_quality" CLIENT_ID = "your-client-id" CLIENT_SECRET = "your-client-secret"
schema = pa.schema( [ ("device_name", pa.large_utf8()), ("temp", pa.int32()), ("humidity", pa.int64()), ] )
sdk = ZerobusSdk(SERVER_ENDPOINT, DATABRICKS_WORKSPACE_URL) stream = sdk.create_arrow_stream(TABLE_NAME, schema, CLIENT_ID, CLIENT_SECRET)
try: batch = pa.record_batch( { "device_name": ["sensor-1"], "temp": [22], "humidity": [60], }, schema=schema, ) stream.ingest_batch(batch) stream.flush() finally: stream.close()```O que acontece nesse código:
- Define o esquema Arrow correspondente à tabela Delta de destino.
- Inicializa o SDK do Zerobus apontando para o endpoint e workspace.
- Cria um stream de Arrow e envia um lote de registros (
RecordBatch). - Confirma a durabilidade com o
flush()e encerra o stream.### Limitações e requisitosDisponível em GA. Cada linha individual dentro de umRecordBatchdeve respeitar o limite de 10 MB, embora o lote total possa ser maior. Os campos do esquema Arrow devem seguir a mesma ordem relativa, nulabilidade e tipos da tabela Delta de destino.
- lakeflow connect
- zerobus ingest
- apache arrow
- arrow flight
- streaming
Apache Arrow support for Zerobus Ingest is now generally available
Resumo e explicação gerados por IA a partir da release note oficial. Em caso de dúvida, a documentação oficial da plataforma prevalece.
Relacionadas
- DatabricksGA
Repositórios de pacotes em nível de workspace para Databricks Apps
Administradores de workspace podem configurar repositórios padrão de pacotes Python e npm para Databricks Apps.
databricks apps · workspace settings - DatabricksGA
Redimensione partições de stateful streaming sem perder o checkpoint no Databricks
Agora é possível alterar o número de partições de shuffle em queries Structured Streaming e pipelines Lakeflow sem descartar o estado do checkpoint.
structured streaming · lakeflow - DatabricksAtualização
Google Gemini 4 Argon disponível no Unity Gateway do Databricks
O modelo multimodal Google Gemini 4 Argon já pode ser acessado via Foundation Model APIs e Unity Gateway.
unity catalog · foundation model apis