当前位置:网站首页>Data Lake (VIII): Iceberg data storage format
Data Lake (VIII): Iceberg data storage format
2022-07-06 20:57:00 【51CTO】
Iceberg Data storage format
One 、Iceberg The term
- data files( Data files ):
The data file is Apache Iceberg Tables are files that actually store data , It's usually in the data storage directory of the table data Under the table of contents , If our file format is parquet, So the document is based on “.parquet” ending , for example :
00000-0-root_20211212192602_8036d31b-9598-4e30-8e67-ce6c39f034da-job_1639237002345_0025-00001.parquet It's just a data file .
Iceberg Each update produces multiple data files (data files).
- Snapshot( Table snapshot ):
A snapshot represents the state of a table at a certain time . Each snapshot will list all the data in the table at a certain time data files list .data files It's stored in different manifest files Inside ,manifest files Is stored in a Manifest list In the document , And one Manifest list The file represents a snapshot .
- Manifest list( List of checklists ):
manifest list Is a metadata file , It lists the snapshot of the build table (Snapshot) List of (Manifest file). What is stored in this metadata file is Manifest file list , Every Manifest file Occupy a line . Each row stores Manifest file The path of 、 Its stored data file (data files) Partition range , Added several number files 、 Deleted several data files and other information , This information can be used to provide filtering when querying , Speed up .
- Manifest file( Inventory file ):
Manifest file It is also a metadata file , It lists the components of the snapshot (snapshot) Data files for (data files) List information for . Each line is a detailed description of each data file , Including the status of the data file 、 File path 、 Zone information 、 Statistics at the column level ( For example, the maximum and minimum of each column 、 Null number, etc )、 The size of the file and the number of data lines in the file . Column level statistics can filter out unnecessary files when scanning table data .
Manifest file In order to avro Format for storage , With “.avro” The suffix ends , for example :8138fce4-40f7-41d7-82a5-922274d2abba-m0.avro.
Two 、 Table format Table Format
Apache Iceberg As a data Lake solution , It is an open table format for large analysis data sets (Table Format), Table format can be understood as an organization of metadata and data files .Iceberg The underlying data store can be docked HDFS,S3 file system , And supports a variety of file formats , In the calculation frame (Spark、Flink) under , Data files .
Here's how Iceberg How the underlying files are organized , The picture below is Iceberg Middle table format ,s0、s1 It represents the table Snapshot Information , Each represents a snapshot of the current operation , Every time commit Will generate a snapshot Snapshot, Every Snapshot The snapshot corresponds to a manifest list Metadata file , Every manifest list Contains multiple Manifest Metadata file ,manifest The file address corresponding to the data generated by the current operation is recorded in , That is to say data file The address of .
be based on snapshot Management style ,Iceberg Can get the historical version data of the table 、 Incremental read operation on table ,data files Storage supports different file formats , At present, we support parquet、ORC、Avro Format .
About Iceberg Table data underlying organization details , You can pay attention to the following articles , I will explain it in detail .
边栏推荐
- 强化学习-学习笔记5 | AlphaGo
- 'class file has wrong version 52.0, should be 50.0' - class file has wrong version 52.0, should be 50.0
- [diy] how to make a personalized radio
- Laravel笔记-自定义登录中新增登录5次失败锁账户功能(提高系统安全性)
- What is the problem with the SQL group by statement
- Pinduoduo lost the lawsuit, and the case of bargain price difference of 0.9% was sentenced; Wechat internal test, the same mobile phone number can register two account functions; 2022 fields Awards an
- Function optimization and arrow function of ES6
- Notes - detailed steps of training, testing and verification of yolo-v4-tiny source code
- Infrared thermometer based on STM32 single chip microcomputer (with face detection)
- Pycharm remote execution
猜你喜欢
I've seen many tutorials, but I still can't write a program well. How can I break it?
Distributed ID
[wechat applet] operation mechanism and update mechanism
看过很多教程,却依然写不好一个程序,怎么破?
OAI 5g nr+usrp b210 installation and construction
1500万员工轻松管理,云原生数据库GaussDB让HR办公更高效
审稿人dis整个研究方向已经不仅仅是在审我的稿子了怎么办?
Kubernetes learning summary (20) -- what is the relationship between kubernetes and microservices and containers?
Laravel笔记-自定义登录中新增登录5次失败锁账户功能(提高系统安全性)
基于STM32单片机设计的红外测温仪(带人脸检测)
随机推荐
2022 Guangdong Provincial Safety Officer C certificate third batch (full-time safety production management personnel) simulation examination and Guangdong Provincial Safety Officer C certificate third
Huawei device command
Laravel笔记-自定义登录中新增登录5次失败锁账户功能(提高系统安全性)
全网最全的知识库管理工具综合评测和推荐:FlowUs、Baklib、简道云、ONES Wiki 、PingCode、Seed、MeBox、亿方云、智米云、搜阅云、天翎
Laravel notes - add the function of locking accounts after 5 login failures in user-defined login (improve system security)
Rhcsa Road
Core principles of video games
use. Net analysis Net talent challenge participation
监控界的最强王者,没有之一!
2022 nurse (primary) examination questions and new nurse (primary) examination questions
Web开发小妙招:巧用ThreadLocal规避层层传值
Introduction to the use of SAP Fiori application index tool and SAP Fiori tools
[DIY]如何制作一款個性的收音機
2110 summary of knowledge points and common problems in redis class
华为设备命令
'class file has wrong version 52.0, should be 50.0' - class file has wrong version 52.0, should be 50.0
Opencv learning example code 3.2.3 image binarization
[wechat applet] operation mechanism and update mechanism
性能测试过程和计划
"Penalty kick" games