大数据知识体系
首页
数据结构与算法
  • JVM
  • Java
  • Scala
  • Python
设计模式
  • MySQL
  • Redis
  • HDFS
  • HBase
  • ClickHouse
  • ElasticSearch
  • Iceberg
  • Hudi
  • Spark
  • Flink
  • Hive
  • Yarn
  • Zookeeper
  • Maven
  • Git
  • 数据仓库
  • 用户画像
  • 指标体系
数据治理
关于
首页
数据结构与算法
  • JVM
  • Java
  • Scala
  • Python
设计模式
  • MySQL
  • Redis
  • HDFS
  • HBase
  • ClickHouse
  • ElasticSearch
  • Iceberg
  • Hudi
  • Spark
  • Flink
  • Hive
  • Yarn
  • Zookeeper
  • Maven
  • Git
  • 数据仓库
  • 用户画像
  • 指标体系
数据治理
关于
  • 数据湖介绍
  • Iceberg

    • Iceberg 概述
      • 概念
      • 特点
      • 解决什么问题
    • Iceberg 数据类型
    • Iceberg 演化
    • Iceberg 分区
    • Iceberg 文件组织形式
    • Iceberg Spark 入门
    • Iceberg Spark DDL
    • Iceberg Spark DQL
    • Iceberg Spark SQL 存储过程
  • Hudi

    • Hudi 概述
  • 数据湖
  • Iceberg
Will
2021-12-29
目录

Iceberg 概述

# 概念

Apache Iceberg 是一种用于大型分析数据集的开放 Table Format(表格式)。专为大型表设计,单表可以处理 PB 级的数据。Iceberg 旨在解决最终一致的云对象存储中的正确性问题,Iceberg 可以在没有分布式 SQL 的情况下读取 PB 级别的表。

Table Format 是数据库系统在实现层面上的一个抽象概念,是数据存储的一种模型,其中定义了表的元数据信息以及数据文件的组织形式、统计信息以及上层引擎读取和写入的相关 API,与其相对应的是 File Format。

Iceberg 介于数据文件之上,计算之下,在数据仓库中的位置如下:

提示

本系列文章以 Iceberg 0.13.1 版本为主,后续版本部分特性可能会有所变更。

# 特点

  • 支持 add、drop、update 和 rename 操作。
  • 隐藏分区(Hidden Partition)可以避免开发人员的错误操作。
  • 分区规则可以根据数据量或查询模式的变化而更新。
  • 支持使用完全相同的表快照的可重现查询,或者让用户轻松检查更改。
  • 版本回滚允许将表重置为任意时刻的状态,以快速纠正问题

# 解决什么问题

  • 实现批流一体,统一存储、统一 Schema、统一血缘、统一查询。
  • 支持流式写入,增量读取。
  • 解决 Hive 中小文件过多的问题。
  • 支持 update 和 delete 操作。
  • 事务保证。
  • 相对 Hive 而言,更高效的扫描计划可以加快查询。
  • 相对 Hive 而言,可以有效降低 NameNode 的 list 请求压力。
上次更新: 2023/11/01, 03:11:44

← 数据湖介绍 Iceberg 数据类型→

Theme by Vdoing | Copyright © 2022-2023 Will 蜀ICP备2022002285号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式