HDFS小文件问题解决方案+SequenceFile简单介绍
2018-01-26 11:46
232 查看
HDFS和MR主要针对大数据文件来设计,在小文件处理上效率低.
解决方法是选择一个容器,将这些小文件包装起来,将整个文件作为一条记录,可以获取更高效率的储存和处理,避免多次打开关闭流耗费计算资源.
存储结构如图:
解决方法是选择一个容器,将这些小文件包装起来,将整个文件作为一条记录,可以获取更高效率的储存和处理,避免多次打开关闭流耗费计算资源.
hdfs提供了两种类型的容器 SequenceFile和MapFile
小文件问题解决方案 1、在原有HDFS基础上添加一个小文件处理模块,具体操作流程如下: 2、当用户上传文件时,判断该文件是否属于小文件。 如果是,则交给小文件处理模块处理。 否则,交给通用文件处理模块处理。 在小文件模块中开启一定时任务,其主要功能是当模块中文件总size大于HDFS上block大小的文件时,则通过SequenceFile组件以文件名做key,相应的文件内容为value将这些小文件一次性写入hdfs模块。 3、同时删除已处理的文件,并将结果写入数据库。 4、当用户进行读取操作时,可根据数据库中的结果标志来读取文件。
SequenceFile Sequence file由一系列的二进制key/value组成. 如果key为小文件名,value为文件内容,则可以将大批小文件合并成一个大文件。 Hadoop-0.21.0版本开始中提供了SequenceFile,包括Writer,Reader和SequenceFileSorter类进行写,读和排序操作。 该方案对于小文件的存取都比较自由,不限制用户和文件的多少,支持Append追加写入,支持三级文档压缩(不压缩、文件级、块级别)。
存储结构如图:
SequenceFile储存 文件中每条记录是可序列化,可持久化的键值对,提供相应的读写器和排序器,写操作根据压缩的类型分为3种 Write 无压缩写数据 RecordCompressWriter记录级压缩文件,只压缩值 BlockCompressWrite块级压缩文件,键值采用独立压缩方式
相关文章推荐
- HDFD 四个配置文件(core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml )的简单介绍
- hadoop搭建四个配置文件(core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml )的简单介绍
- 简单介绍NFS Linux系统间网络文件系统 配置 权限问题
- Spark Shuffle六大问题 fetch操作、数据存储、文件个数、什么排序算法简单介绍
- hadoop搭建四个配置文件(core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml )的简单介绍
- 简单介绍一下BSP中的dirs文件和sources文件(WinCE
- 简单介绍一下BSP中的dirs文件和sources文件(WinCE)
- 最简单方法搞定 VirtualBox 虚拟机共享文件问题
- core文件的简单介绍
- 配置文件如果处理最简单 --- ConfEngine配置引擎介绍
- 多媒体文件格式简单介绍
- 简单介绍一下BSP中的dirs文件和sources文件(WinCE
- core文件的简单介绍
- c#读写ANSI格式文件,解决中乱码问题最简单的写法
- 一个超级简单的dwr配置文件,介绍了dwr最常用的几个标签(转)
- H3C设备系统及配置文件管理简单介绍
- EXT 文件上传扩展组件简单介绍
- c#读写ANSI格式文件,解决中乱码问题最简单的写法
- 简单介绍一下BSP中的dirs文件和sources、Boot.bib、config.bib文件
- 简单解决不同机器同帐号文件访问问题