- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 视频嵌入链接 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
Lakehouse with Delta Lake Introduction-刘林宏
Lakehouse with Delta Lake Introduction
理想的数据湖需要提供可靠的,高质量的数据,从而支持实时数据查询、历史数据查询、数据回滚、增量修改等业务。本次分享介绍了构建湖仓一体过程中的痛点,以及 Databricks 如何基于 Delta Lake 解决这些问题。
刘林宏,Databricks 软件工程师。曾先后就职于英特尔大数据部和百度基础架构部,参与分布式计算系统的研发工作。2020 年加入 Databricks,参与开源软件及 Databricks 产品研发。
展开查看详情
1 .
2 .
3 .优势 ▪ 为 而生 劣势 ▪ 存储成本大 ▪ 不支持非结构化数据 ▪ 对 和 支持有限
4 .优势 ▪ 存储成本低,可以保存全部原始数据 ▪ 开放的数据格式和生态,支持 ▪ 可以 特定数据到 劣势 ▪ 架构复杂,容易出错,维护成本高 ▪ 多存储系统,数据一致性问题 ▪ 本身缺乏 支持
5 .数据仓库 数据湖 流式分析 数据科学 机器学习 结构化,半结构化及非结构化数据
6 .流式分析 数据科学 机器学习 适用于所有场景的统一平台 结构化事务层 存储所有数据的数据湖
7 .流式分析 数据科学 机器学习 适用于所有场景的统一平台 结构化事务层 存储所有数据的数据湖
8 .
9 .基于数据湖构建统一数据平台的挑战 读写并行问题 追加写 添加新数据可能会导致错误的读结果 修改已有数据问题 细粒度修改已有数据的需求 中途失败的作业 部分数据存入数据湖
10 .基于数据湖构建统一数据平台的挑战 批流混合输入 可能会导致不一致的读取结果 保存数据历史 由于审计和合规的需求,需要保证数据的可以重放 处理海量元数据 对于大型数据湖,处理其海量的元数据也是一大挑战
11 .基于数据湖构建统一数据平台的挑战 大量小文件问题 数据湖不擅长处理大量小文件 性能问题 通过分区提升性能容易出错,之后重分区开销大 安全性差 缺乏权限控制机制来保证数据安全 数据质量问题 在大数据场景下保证数据质量
12 .读写并行问题 修改已有数据问题 作业中途失败 可靠性 批流混合输入 保存数据历史 处理海量元数据 大量小文件问题 性能 性能问题 安全问题 安全 数据质量问题 数据质量
13 . 事务 读写并行问题 事物化所有操作 修改已有数据问题 • 每一个操作,要么整体成功,要么整体 失败 作业中途失败 批流混合输入 保存数据历史 /path/to/table/_delta_log - 0000.json 处理海量元数据 - 0001.json 大量小文件问题 - 0002.json - … 性能问题 - 0010.checkpoint.parquet 安全问题 数据质量问题
14 . 事务 读写并行问题 事物化所有操作 修改已有数据问题 • 每一个操作,要么整体成功,要么整体 失败 作业中途失败 批流混合输入 { 保存数据历史 /path/to/table/_delta_log - 0000.json 处理海量元数据 - 0001.json 大量小文件问题 - 0002.json - … 性能问题 - 0010.checkpoint.parquet 安全问题 数据质量问题
15 . 事务 读写并行问题 事物化所有操作 修改已有数据问题 • 每一个操作,要么整体成功,要么整体 失败 作业中途失败 批流混合输入 保存数据历史 /path/to/table/_delta_log { - 0000.json 处理海量元数据 - 0001.json 大量小文件问题 - 0002.json - … 性能问题 - 0010.checkpoint.parquet 安全问题 数据质量问题
16 . 事务 读写并行问题 事物化所有操作 修改已有数据问题 • 每一个操作,要么整体成功,要么整体 失败 作业中途失败 批流混合输入 查询历史数据 保存数据历史 • 所有的操作都在事务日志中有记录,可 处理海量元数据 以对之前某个时间点的数据进行查询 大量小文件问题 性能问题 SELECT * FROM events 安全问题 TIMESTAMP AS OF ... 数据质量问题 SELECT * FROM events VERSION AS OF ...
17 . 使用 处理元数据 读写并行问题 • 所有 元数据均以开源 或 修改已有数据问题 格式存储 作业中途失败 • 数据与元数据总是相伴相生,无需进 行同步 批流混合输入 保存数据历史 处理海量元数据 大量小文件问题 性能问题 安全问题 数据质量问题
18 . 索引机制 读写并行问题 数据的自动优化 修改已有数据问题 • 跳过数据扫描:分区, 等 作业中途失败 • :优化多个列的存储布局 批流混合输入 保存数据历史 处理海量元数据 大量小文件问题 OPTIMIZE events 性能问题 ZORDER BY (eventType) 安全问题 数据质量问题
19 . 数据查询管控 读写并行问题 表级别的权限控制 修改已有数据问题 • 提供权限设置的 作业中途失败 • 根据用户权限,动态地对视图进行脱敏 ( ) 批流混合输入 保存数据历史 处理海量元数据 大量小文件问题 性能问题 安全问题 数据质量问题
20 . 验证和演化 读写并行问题 验证和演化 修改已有数据问题 ● 所有表中的数据必须严格符合 的约束 作业中途失败 ● 可以在数据写入时进行 演化 批流混合输入 保存数据历史 MERGE INTO events 处理海量元数据 USING changes 大量小文件问题 ON events.id = changes.id WHEN MATCHED THEN 性能问题 UPDATE SET * 安全问题 WHEN NOT MATCHED THEN INSERT * 数据质量问题
21 .总结 架构的优势 ● 开放的数据格式和生态 ● 支持结构化,半结构化与非结构化数据 ● 支持 和 ● 支持 和 ● 存储成本低 ● 高吞吐,高性能
22 .
23 .
24 .