用途:构建 Zerobus Ingest 客户端,通过 gRPC 将记录逐条近实时写入 Databricks Delta 表,省去 Kafka、Kinesis、Event Hub 等消息总线基础设施。服务端负责校验 schema、落盘到目标表并返回持久化确认。
主要能力:支持 Python、Java、Go、TypeScript、Rust 客户端;序列化可选 JSON(快速起步)或 Protobuf(类型安全、前向兼容、性能更好);支持从 Unity Catalog 表生成 .proto;提供 ACK 处理、重试与重连、吞吐限制等运维指导。核心流程为 SDK 初始化 -> 创建 stream -> 摄取记录 -> 处理 ACK -> flush -> close。
使用方式:需先准备 Unity Catalog 托管 Delta 表、具有 MODIFY 和 SELECT 权限的服务主体 id 与 secret、工作区区域的 Zerobus 服务端点,并安装对应语言 SDK。常用库为 databricks-sdk>=0.85.0、databricks-zerobus-ingest-sdk>=0.2.0、grpcio-tools,通常未预装,可用 execute_databricks_command 执行 %pip install 安装。安装 grpcio-tools 前先检查 protobuf 版本,5.26 或 5.29 时使用 grpcio-tools==1.62.0。可通过 run_python_file_on_databricks 在 Databricks 上执行本地 Python 文件,并复用返回的 cluster_id 与 context_id 提升后续执行速度。
限制:状态为 Public Preview,目前免费,Databricks 计划未来收费;提供至少一次投递语义,需自行处理重复;不创建或修改表,需预先建表并自行管理 schema 演进;单可用区持久化;每 stream 上限 100 MB/s 和 15,000 行/秒;时间戳字段须用 Unix 整数微秒时间戳;仅支持特定区域。
适用场景:原型验证、生产 Python 生产者、JVM 微服务、Go 服务、Node.js/TypeScript 应用、Rust 高性能系统服务,以及需要重试与重连逻辑的写入场景。
注意:执行前必须确认目标表、服务主体权限、服务端点和 SDK 均有效,不要安装本地包。缺少官方配置细节的部分暂未提供。