Hadoop小文件存取解决方案
来源:互联网 发布:手机图片涂鸦软件 编辑:程序博客网 时间:2024/06/06 03:23
现实场景;在系统中,存在大量的小文件存取,比如图片文件,一般在几M以内,
1),但是HDFS默认block大小是64M,如果直接存取在Hadoop中,将极大的消耗namenode的资源。直接放在hadoop文件系统中,大多只是做归档分析用,所以,我们就想能不能定期归档。
2),放在Hbase中,由于hbase的value最大长度是64KB,而很多小文件又大过这个级别。HBase当时的设计是为了存储网页元素这样的小数据,顶多几K,如果存储1M左右的小文件,还是不合适的。对于小文件问题,Hadoop本身也提供了几个解决方案,分别为:Hadoop Archive,Sequence file和CombineFileInputFormat。
(1) Hadoop Archivehadoop Archive或者HAR,是一个高效地将小文件放入HDFS块中的文件存档工具,它能够将多个小文件打包成一个HAR文件,这样在减少namenode内存使用的同时,仍然允许对文件进行透明的访问。使用HAR时需要两点,第一,对小文件进行存档后,原文件并不会自动被删除,需要用户自己删除;第二,创建HAR文件的过程实际上是在运行一个mapreduce作业,因而需要有一个hadoop集群运行此命令。该方案需人工进行维护,适用管理人员的操作,而且har文件一旦创建,Archives便不可改变,不能应用于多用户的互联网操作。
(2) Sequence filesequence file由一系列的二进制key/value组成,如果为key小文件名,value为文件内容,则可以将大批小文件合并成一个大文件。Hadoop-0.21.0中提供了SequenceFile,包括Writer,Reader和SequenceFileSorter类进行写,读和排序操作。 该方案对于小文件的存取都比较自由,不限制用户和文件的多少,但是SequenceFile文件不能追加写入,适用于一次性写入大量小文件的操作。 (3)CombineFileInputFormatCombineFileInputFormat是一种新的inputformat,用于将多个文件合并成一个单独的split,另外,它会考虑数据的存储位置。
、、、
- Hadoop小文件存取解决方案
- hadoop自带的存取小文件存取解决方案
- hadoop自带的存取小文件存取解决方案
- hadoop自带的存取小文件存取解决方案
- hadoop小文件解决方案
- hadoop小文件问题&解决方案
- Hadoop小文件问题及解决方案
- Hadoop对小文件的解决方案
- [Hadoop]大量小文件问题及解决方案
- Hadoop 大量小文件问题及解决方案
- Hadoop小文件问题及解决方案
- Hadoop:HDFS文件存取机制
- sequence文件是hadoop的小文件解决方案
- hadoop小文件的问题带来的问题和解决方案
- Hadoop小文件带来的问题以及解决方案
- Hadoop小文件优化
- Hadoop处理小文件
- Hadoop小文件合并
- JavaScript基础语句
- Linux Ubuntu 16.04 系统上安装JDK1.7或JDK1.8
- truffle3.0以上的项目目录结构中没有app目录怎么办
- 使用callable获取子线程的返回值
- dp小总结
- Hadoop小文件存取解决方案
- 直接内存DirectBuffer
- JAVA 用法陷阱(suitable for 中级JAVA开发工程师)
- LeetCode 11. Container With Most Water(盛最多的水)
- 暑期学习 LSTM 笔记
- 使用spring @Scheduled注解执行定时任务
- 一起Talk Android吧(第三十七回:Android中的Fragment二)
- 编译apache出现的问题:configure: error: APR not found . Please read the documentation
- 使用IntelliJ IDEA实现Spring HelloWorld