
# Hudi数据表Archive规范
Archive（归档）是为了减轻Hudi读写元数据的压力，所有的元数据都存放在这个路径：Hudi表根目录/.hoodie目录，如果.hoodie目录下的文件数量超过10000就会发现Hudi表有非常明显的读写时延。
#### 规则
Hudi表必须执行Archive。
对于Hudi的MOR类型和COW类型的表，都需要开启Archive。
- Hudi表在写入数据时会自动判断是否需要执行Archive，因为Archive的开关默认打开(hoodie.archive.automatic默认为true)。
- Archive操作并不是每次写数据时都会触发，至少需要满足以下两个条件：
  - Hudi表满足hoodie.keep.max.commits设置的阈值。如果是Flink写hudi至少提交的checkpoint要超过这个阈值；如果是Spark写hudi，写Hudi的次数要超过这个阈值。
  
  - Hudi表做过Clean，如果没有做过Clean就不会执行Archive。
   
 
#### 建议
Archive作业每天至少执行一次，可以2\~4小时执行一次。
Hudi的MOR表和COW表都需要保证每天至少1次Archive，MOR表的Archive可以参考2.2.1.6小节和Compaction放在一起异步去执行。COW的Archive可以在写数据时自动判断是否执行。
