用途
该技能是 Databricks Agent Skills 集合中面向 Spark Structured Streaming 的指南,定位为生产级流式管道的参考文档。它用于在构建流式管道、处理 Kafka 摄取以及实现相关流式处理逻辑时提供导航,指向更详细的模式与最佳实践文档。
主要能力
技能内容按主题组织为若干参考文档,覆盖以下方面:
- Kafka 流式:Kafka 到 Delta、Kafka 到 Kafka,以及实时模式。
- 实时模式(RTM):亚秒级端到端延迟,涉及集群设置、slot 计算、支持的操作(包括 DBR 18+ 上的流-流内连接)、
transformWithState、可观测性、错误类别与投递语义。 - Lakebase 写入:将流式记录写入 Lakebase Postgres,支持事务性 upsert;提供原生
format("postgresql")写入(DBR 18.3+)以及作为回退方案的手动foreach写入。 - 流连接:流-流连接与流-静态连接。
- 多目标写入:写入多个表、并行合并。
- MERGE 操作:MERGE 性能、并行合并与优化。
- 配置:检查点管理与最佳实践、有状态操作(水位线、状态存储、RocksDB 配置)、触发器选择与成本优化。
- 最佳实践:生产环境综合最佳实践。
使用方式
技能提供了一段快速入门代码示例,展示从 Kafka 读取并写入 Delta 的基本流程:使用 spark.readStream 以 kafka 格式读取,配置 kafka.bootstrap.servers 与 subscribe,通过 from_json 解析 value 字段并展开为列;随后使用 writeStream 以 delta 格式、append 输出模式写入,设置 checkpointLocation 指向 UC 卷路径,使用 processingTime="30 seconds" 触发器,并调用 start 指定目标表路径。
技能本身以参考文档导航的形式组织,各主题通过对应的 references 文件展开,例如 references/kafka-streaming.md、references/real-time-mode.md、references/lakebase-sink-python.md、references/stream-stream-joins.md、references/stream-static-joins.md、references/multi-sink-writes.md、references/merge-operations.md、references/checkpoint-best-practices.md、references/stateful-operations.md、references/trigger-and-cost-optimization.md、references/streaming-best-practices.md。
适用场景
适用于构建生产环境的 Spark Structured Streaming 管道,尤其是涉及 Kafka 摄取、实时低延迟处理、写入 Delta 或 Lakebase、流连接、多目标写入与 MERGE 操作的场景。
限制
资料未提供该技能的安装命令、收费方式、价格、平台支持范围或具体效果数据,这些信息暂未提供。生产环境检查清单中列出的要求(如检查点位置需持久化于 UC 卷而非 DBFS、每个流使用唯一检查点、流式处理使用固定大小集群而非自动扩缩容、配置监控、验证 exactly-once、为有状态操作配置水位线、流-静态连接使用左连接而非内连接)属于该技能给出的实践建议,具体实施需结合实际情况。