当前位置:   article > 正文

Hadoop Archives *.har文件解析备忘

*.har
mark:HarFileSystem
source:hadoop-common-2.0.0-cdh4.3.0.jar

为了节省NN的元数据,可以将HDFS上的不再变化的小文件归档。Hadoop archives是Hadoop自带的特殊的档案格式。一个Hadoop archive对应一个文件系统目录。 Hadoop archive的扩展名是*.har。Hadoop archive目录结构如下:
[table]
|Name|Type|Size|
|_SUCCESS|file|0 B|
|_index|file|599 B|
|_masterindex|file|23 B|
|part-0|file|48 B|
[/table]
[b]【说明:】[/b]
1. *.har在HDFS上是一个目录,不是一个文件。
2. _index和_masterindx为元数据信息。
3. part-*为真实数据集。

看下_index文件及part-0中都存了些什么:
[b]_index:[/b]
%2F dir 1378884867194+493+cdh4+supergroup 0 0 123.txt 2013 3.txt %2F2013 dir 1378884762156+493+cdh4+supergroup 0 0 09 %2F2013%2F09%2F10%2F1.txt file part-0 12 12 1378883181096+420+cdh4+supergroup %2F123.txt file part-0 0 12 1378866591533+420+cdh4+supergroup %2F2013%2F09%2F10 dir 1378884856608+493+cdh4+supergroup 0 0 1.txt %2F2013%2F09%2F11 dir 1378884867194+493+cdh4+supergroup 0 0 2.txt %2F2013%2F09 dir 1378884821792+493+cdh4+supergroup 0 0 10 11 %2F2013%2F09%2F11%2F2.txt file part-0 24 12 1378883185898+420+cdh4+supergroup %2F3.txt file part-0 36 12 1378883191541+420+cdh4+supergroup 

可以看到里面存储了所有打包目录及文件的层次结构,数据文件信息及内容偏移等:
/123.txt
/2013/1.txt
/2013/2.txt
/3.txt

[b]part-0:[/b]
hdfs://aaaahdfs://aaaahdfs://aaaahdfs://aaaa

数据文件中记录了打包目录下所有4个文件的内容。

【*】根据元数据文件及数据文件应该可以恢复出原目录结构。
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/715755
推荐阅读
相关标签
  

闽ICP备14008679号