大数据大数据

大数据学习笔记2:现代数据湖之Iceberg

2021-06-20  本文已影响0人  泊浮目

本文首发于泊浮目的简书https://www.jianshu.com/u/204b8aaab8ba

版本 日期 备注
1.0 2021.6.20 文章首发

最近Iceberg有点小火,在这里也是根据自己看到的资料做个笔记输出一下。

数据湖的定义就不说了,不了解的小伙伴可以看我之前做的笔记大数据学习笔记1:数仓、数据湖、数据中台

1. 数据湖发展现状

2. 业界趋势

3. 现代数据湖的能力要求

4.常见现代数据湖技术

总的来说,这些数据湖都提供了这样的一些能力:

  1. 构建于存储格式之上的数据组织方式
  2. 提供ACID能力,提供一定的*事务特性和并发能力8
  3. 提供行级别的数据修改能力
  4. 确保schema的准确性,提供一定的schema修改能力

一些具体的对比可以看这张图:


5. Iceberg

我们先看看Iceberg的官网是如何介绍它的:

Apache Iceberg is an open table format for huge analytic datasets. Iceberg adds tables to Trino and Spark that use a high-performance format that works just like a SQL table.

我的理解是,Iceberg以表的形式来组织底层数据,并对上面提供了高性能的表级别计算能力。

它的核心思想就是在时间轴上跟踪表的所有变化:

目前已知在用的Iceberg的大厂:

5.1 Iceberg的优势

5.2 特性

5.2.1 快照设计方式

5.2.2 元数据组织

5.2.2 事务性提交

5.3场景

5.3.1 CDC数据实时摄入摄出

这里要讨论的是关系型数据库的binlog如何去做分析。在hadoop生态里,对这个场景一般是不怎么友好的。

最常见的方式是写到hive里,标记这是binlog,并声明它的类型(I,U,D),然后再跑个批量任务到存量表里。但hive只能做到小时级别的分区,但iceberg可以做到1分钟内。

5.3.2 近实时场景的流批一体

在lambda架构中,会分为实时链路和离线链路。主要技术栈非常复杂,如果能够接受准实时(30s~1min)的延迟,iceberg是可以胜任的。

上一篇下一篇

猜你喜欢

热点阅读