Hadoop Archives指南
来源:互联网 发布:网络词画风是什么意思 编辑:程序博客网 时间:2024/05/16 16:22
Hadoop Archives指南
概述
Hadoop archives是一种归档文件。按照官网的说法,一个Hadoop archive对应一个文件系统目录。 那么为什么需要Hadoop Archives呢?因为hdfs并不擅长存储小文件,文件在hdfs上以block的形式存储,而这些block会在namenode中保存其索引等元数据,这些元数据在namenode启动后被加载至内存。如果存在大量的小文件(文件大小比块还要小),如:一个块128MB,对于一个128MB的文件只需存储一个块(假设为1备份),在namenode中也只存储了一份元数据,而对于128个1MB的文件,则要在namenode中存储128个元数据,显然,少量的大文件要比大量的小文件消耗的namenode内存要小。hadoop Archives就是出于这样的考虑:把多个文件归档成为一个文件,归档成一个文件后还可以透明的访问每一个文件,并且可以做为mapreduce任务的输入,这样可以减少namenode内存消耗。 Hadoop archives类似于linux上的tar, 用于对hdfs上的文件进行归档,Hadoop archive的扩展名是.har。Hadoop archive包含元数据(形式是_index和_masterindx)和数据(part-)文件。_index文件包含了档案中的文件的文件名和位置信息。
创建Archive
hadoop archive -archiveName name -p <parent> [-r <replication factor>] <src>* <dest>
-archiveName name: 指定归档文件的名称,例如test.har
-p parent: 用于指定父目录,表示一种相对路径,指定了这个参数,后面的src和dest都是相对与这个目录的。比如,
-p /foo/bar a/b/c e/f/g
这里,指定/foo/bar为父目录,则a/b/c和e/f/g 就表示/foo/bar/a/b/c和/foo/bar/e/f/g
-r 表示复制因子,不指定的话,默认为10。
其他需要注意的是,使用hadoop archive工具会产生一个mapreduce程序,因此首先要确保集群能够运行mapreduce。
如下例子表示对一个单个目录/foo/bar进行归档:
hadoop archive -archiveName zoo.har -p /foo/bar -r 3 /outputdir
如下例子表示对
查看创建的Archive
archive本身就作为文件系统层暴露给外界,因此所有的hadoop fs shell的命令都可以在archive上运行。不同的是,不能再继续使用hdfs://host:8020这样的URI, 而是要使用archive文件系统的URI。另外要注意的是,archive文件是不可变的,因此,不能对archive文件进行删除和重命名。Hadoop Archives 的URI是:
har://scheme-hostname:port/archivepath/fileinarchive
Unarchive
由于可以在archive文件系统上可以使用所有的fs shell命令又能够透明的访问archive文件,因此,可以通过直接拷贝实现unarchive。
如:
hdfs dfs -cp har:///user/zoo/foo.har/dir1 hdfs:/user/zoo/newdir
或者使用distcp
hadoop distcp har:///user/zoo/foo.har/dir1 hdfs:/user/zoo/newdir
举个连贯的例子(来自官文)
创建Archive
hadoop archive -archiveName foo.har -p /user/hadoop -r 3 dir1 dir2 /user/zoo
上面的句子使用/user/hadoop作为相对路径创建一个名为foo.har的archive文件,该文件包含了/user/hadoop/dir1和/user/hadoop/dir2。该命令不会删除/user/hadoop/dir1和/user/hadoop/dir2,如果你想在创建archive文件之后删除输入文件(这样做可以减少namespace),只能手动去删除。
查看Archive
hadoop fs -ls har:///user/zoo/foo.har
输出如下
har:///user/zoo/foo.har/dir1har:///user/zoo/foo.har/dir2
- Hadoop Archives指南
- Hadoop Archives
- Hadoop Archives
- [Hadoop]Hadoop Archives
- archives in hadoop
- Hadoop archives 说明
- Hadoop Archives 小数据处理
- Hadoop HDFS (4) Hadoop Archives
- hadoop深入研究:(五)——Archives
- Hadoop深入研究:(五)——Archives
- hadoop深入研究:(五)——Archives
- 【Hadoop权威指南】初识Hadoop
- Hadoop安装部署指南
- 《hadoop 权威指南》 读书笔记
- 《hadoop 权威指南》 读书笔记
- Hadoop权威指南-1
- Hadoop权威指南-2
- Hadoop安装指南
- HDU 1009 (FatMouse' Trade)
- 进程信息之times系统调用
- Mac系统如何显示隐藏文件?
- java设计模式--装饰模式
- 正则表达式 常用元字符
- Hadoop Archives指南
- Currency Exchange--(最短路径算法)
- unity接android sdk的碰到的一些问题记录
- 注解:编译注解
- Redis高可用分布式集群
- 头文件(Header Files)和命名空间(Namespace)
- 穿过街道
- 树状数组(模板)
- C程序设计语言(六)UNIX系统接口