跳到主要内容

数据湖知识体系概览

什么是数据湖

数据湖(Data Lake)是一种以原始格式存储海量结构化、半结构化和非结构化数据的存储架构。与数据仓库不同,数据湖采用 Schema-on-Read(读时解析),先存后用。

数据湖 vs 数据仓库

维度数据仓库数据湖
SchemaSchema-on-WriteSchema-on-Read
数据类型结构化结构化 + 半结构化 + 非结构化
存储成本高(专有存储)低(对象存储)
查询性能快(预建模)取决于引擎和格式
使用者BI 分析师数据工程师、数据科学家
典型工具Hive、DorisHDFS、S3、Iceberg

数据湖的演进

湖仓一体(Lakehouse) 是当前主流趋势,结合数据湖的低成本存储和数据仓库的高性能查询:

特性传统数据湖湖仓一体
事务支持✅ ACID
Schema 演进
时间旅行
数据质量差(数据沼泽)好(约束+治理)

核心组件

知识导航

主题内容
存储格式Parquet/ORC/Avro 对比
Apache Iceberg主流表格式、时间旅行、Schema 演进
Delta LakeDatabricks 开源表格式、ACID
Apache Hudi增量处理、CDC 友好
湖仓一体Lakehouse 架构、选型

常见面试问题

Q1: 什么是"数据沼泽"?如何避免?

答案: 数据沼泽(Data Swamp)是数据湖失控后的状态——数据缺乏治理、无元数据、质量差、无人维护。

避免方法:

  • 建立元数据管理(数据目录)
  • 引入表格式(Iceberg/Delta)确保 Schema 和事务
  • 制定数据治理规范
  • 使用数据质量检查工具

Q2: 为什么需要表格式(Table Format)?

答案

  • 裸 Parquet 文件缺乏事务、Schema 演进、时间旅行能力
  • 表格式在文件之上增加元数据层,提供 ACID、快照、分区演进等能力
  • 主流三大表格式:Iceberg、Delta Lake、Hudi

相关链接