
# Hudi表概述
#### Hudi表类型
- Copy On Write 写时复制表也简称cow表，使用parquet文件存储数据，内部的更新操作需要通过重写原始parquet文件完成。
  - 优点：读取时，只读取对应分区的一个数据文件即可，较为高效。
  
  - 缺点：数据写入的时候，需要复制一个先前的副本再在其基础上生成新的数据文件，这个过程比较耗时。且由于耗时，读请求读取到的数据相对就会滞后。
   

- Merge On Read 读时合并表也简称mor表，使用列格式parquet和行格式Avro两种方式混合存储数据。其中parquet格式文件用于存储基础数据，Avro格式文件（也可叫做log文件）用于存储增量数据。
  - 优点：由于写入数据先写delta log，且delta log较小，所以写入成本较低。
  
  - 缺点：需要定期合并整理compact，否则碎片文件较多。读取性能较差，因为需要将delta log和老数据文件合并。
   
 
#### Hudi表存储
Hudi在写入数据时会根据设置的存储路径、表名、分区结构等属性生成Hudi表。
Hudi表的数据文件，可以使用操作系统的文件系统存储，也可以使用HDFS这种分布式的文件系统存储。为了后续分析性能和数据的可靠性，一般使用HDFS进行存储。以HDFS存储来看，一个Hudi表的存储文件分为两类。
![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0000001105267326.png)
- ".hoodie"文件夹中存放了对应的文件合并操作相关的日志文件。 ![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0000001105268354.png)
  
- 包含_partition_key相关的路径是实际的数据文件和metadata，按分区存储。 Hudi的数据文件使用Parquet文件格式的base file和Avro格式的log file存储。
  ![](https://support.huaweicloud.com/cmpntguide-mrs/zh-cn_image_0000001151788469.png)
  ![](https://support.huaweicloud.com/cmpntguide-mrs/public_sys-resources/note_3.0-zh-cn.png)
  查看Hudi表：登录FusionInsight Manager页面，选择"集群 \> 服务 \> HDFS"，在"概览"页面单击NameNode WebUI后的链接，进入到HDFS的WebUI界面，选择"Utilities \> Browse the file system"，即可查看Hudi表。
  
 
