用途:在 Databricks 上开发 Lakeflow Spark 声明式管道(SDP/LDP,原 Delta Live Tables)。先使用父级 databricks-core 技能完成 CLI 基础、认证、配置文件选择与数据发现。
主要能力与选择逻辑:根据需求确定数据集类型。非持久化中间逻辑用临时视图;持久化数据集中,来源为流式/增量则用流式表,来源为批处理/历史则用物化视图。文件接入用 Auto Loader,消息总线用流式源读取,CDC/去重保留最新用 Auto CDC,多源汇入用 Append Flow 而非 UNION,带水位的窗口聚合用有状态流处理。输出到外部系统(仅 Python)用 Sink,数据质量用 Expectations。
常用 API:流式表、物化视图、临时视图、UC 持久视图;Append Flow、Backfill Flow、Sink、ForEachBatch Sink(公共预览);Auto CDC(流式源与周期快照);Expect 系列约束;读取数据支持批量读取、流式读取、Auto Loader、Kafka/Kinesis/Pub/Sub/Pulsar/Event Hubs、JDBC 与 Lakehouse Federation、自定义数据源。表特性包括 Liquid Clustering、Auto clustering、分区列、表属性、显式 schema、生成列、行过滤器与列掩码(公共预览)、私有数据集。
必要用法与限制:CLI 访问卷路径需 dbfs: 前缀,如 databricks fs ls dbfs:/Volumes/<catalog>/<schema>/<volume>/<path>。SQL 用 CREATE OR REFRESH STREAMING TABLE / MATERIALIZED VIEW,而非 CREATE OR REPLACE。流式表查询用 FROM STREAM read_files(...)。Kafka/Event Hubs Sink 的 value 列必填。Sink、ForEachBatch Sink、快照 CDC、自定义数据源仅支持 Python。数据集类型不能在原地从流式表改为物化视图。SCD2 使用 __START_AT/__END_AT。物化视图自动增量刷新需 serverless 且源表启用 Delta row tracking。旧版 DLT 语法(import dlt、dlt.table、dlt.read 等)应迁移到现代 API。