用途:该资料面向批量与流式数据管道,给出常见架构模式、适用与不适用条件、失败模式及反模式,用于系统设计选型与评审。
主要能力与内容:
- 处理模式:批处理(定时处理有界数据集)、流处理(持续处理无界数据)、微批处理(秒级小批);说明各自何时使用、何时避免。
- ETL 与 ELT 取舍:ETL 先转换再加载,ELT 先加载原始数据再在目标系统转换;默认倾向 ELT,除非有特定理由。
- Lambda 与 Kappa 架构:Lambda 并行维护批与流两条链路,代价高;Kappa 用单一流式管道并通过回放日志重处理。
- DAG 调度:区分时间依赖与数据依赖,推荐数据感知调度;强调任务幂等、回填、追赶、SLA 监控与任务粒度(目标 1–30 分钟)。
- 数据质量:Schema 校验、数据契约、基于断言的测试(如 Great Expectations、dbt tests、Soda)、隔离区与死信处理、体量异常检测。
- Schema 演进:前向/后向/完全兼容、Schema 注册表、Schema 漂移处理,以及 Avro、Protobuf、Parquet、JSON 在演进支持上的差异。
- 投递语义:至少一次与精确一次、检查点、偏移量管理、幂等写入、去重窗口。
- 回填与重处理:按分区重处理、时间旅行与不可变暂存、蓝绿数据切换、重处理成本、回填协调。
- 存储层:数据湖、数据仓库、湖仓对比;时间、键、Hive 风格分区策略;Parquet、Avro、ORC、JSON/CSV 文件格式适用性。
使用方式与限制:资料为设计模式说明,未提供具体安装命令、代码示例或平台配置步骤;实际落地需结合所用调度、流处理与存储工具自行设计。文中未给出的收费、价格、平台与效果信息暂未提供。