用途:Zerobus Ingest 是无服务器连接器,通过 gRPC 将记录逐条直接写入 Delta 表,替代 Kafka、Kinesis、Event Hub 等消息总线。核心流程为 SDK 初始化→创建流→写入记录→处理 ACK→flush→close。
主要能力:服务校验模式、落地数据并返回持久化确认;支持 JSON(快速起步)与 Protobuf(类型安全、前向兼容、高性能)序列化;提供各语言客户端与从 Unity Catalog 表生成 .proto 的指南。需先准备 UC 托管 Delta 表、具备目标表 MODIFY 与 SELECT 权限的服务主体 id 和密钥、工作区区域的 Zerobus 服务端点,并安装 SDK。
用法:Python 示例先安装 databricks-sdk>=0.85.0 与 databricks-zerobus-ingest-sdk>=0.2.0,可通过 execute_databricks_command 执行 %pip install 命令;安装 grpcio-tools 前先检查 protobuf 版本。随后用 ZerobusSdk(server_endpoint, workspace_url) 创建 SDK,配置 StreamConfigurationOptions(record_type=RecordType.JSON) 与 TableProperties(table_name),再 create_stream(client_id, client_secret, table_props, options),调用 ingest_record_offset(record) 并用 wait_for_offset(offset) 确认持久写入,最后 close()。执行失败时修改本地文件后复用 cluster_id 与 context_id 重试。
适用场景:需要近实时写入湖仓、且希望省去消息总线基础设施的 Python、Java、Go、TypeScript、Rust 生产者。
限制:当前为公开预览,目前免费,Databricks 计划未来收费;至少一次投递,消费者需处理重复;需自行预建表并管理模式演进;服务运行于单一可用区;每条流约 100 MB/s、15,000 行/秒上限;时间戳字段须用 Unix 整数微秒而非字符串;部分区域暂不支持。