hadooop 之 FileInputFormat 类
来源:互联网 发布:安卓必备软件 知乎 编辑:程序博客网 时间:2024/06/08 05:22
1.FileInputFormat 类介绍
- FileInputFormat 是所有使用文件作为数据源的 InputFormat 实现的基类
- 提供两个功能:
1.用于支出作业的输入文件的位置;
2.输入文件生成分片的实现代码段;
类结构图:
2.通过 FileInputFormat 指定输入路径
2.1 指定路径
FileInputFormat 提供的四种静态方法:
public static void addInputPath(Job job, Path path)public static void addInputPaths(Job job, String commaSeparatedPaths)public static void setInputPaths(Job job, Path... inputPaths)public static void setInputPaths(Job job, String commaSeparatedPaths)
介绍:
- addInputPath 添加一个路径
- addInputPaths 添加多个路径
- setInputPaths 一次性设定完完整的路径(覆盖性的)
2.2 指定过滤器
何为过滤器,就是排除掉特定的文件,例如指定了一个目录,此目录下有一些并不是想处理的文件,就可以使用过滤器排除掉这些不想处理的文件;
默认的过滤器排除隐藏文件(名称以“.”或者“_”开头的文件)
自定义过滤器
package mapreduce.mr.pathfilter;import org.apache.hadoop.fs.Path;import org.apache.hadoop.fs.PathFilter;public class RegexExcludePathFilter implements PathFilter{ private String regex; public RegexExcludePathFilter(String regex){ this.regex = regex; } public boolean accept(Path path) { return !path.toString().matches(regex); }}
3.FileInputFormat 类的输入分片
分片通常与HDFS块大小一样,这在大多数应用里是合理的,不过可以通过改变Hadoop的属性来改变。
两种情况的讨论:
1.设置分片最小值比HDFS块大时:此时,一个分片包含一个HDFS块以上的内容,结果会导致map任务数量不等于本地文件的文件块数;
2.设置分片最大值比HDFS快小时:此时,最大值的设置才会有效果,强制分片比快小
分片的大小由以下公式计算:
max(minimumSize, min (maximumSize, blockSize) )
1 0
- hadooop 之 FileInputFormat 类
- MapReduce InputFormat之FileInputFormat
- FileInputFormat类的输入路径
- docker镜像制作之Dockerfile文件---hadooop伪分布式
- 继承FileInputFormat类和RecordReader类
- Hadooop sites
- hadooop 学习
- hadooop 常用命令
- FileInputFormat分析
- FileInputFormat分析
- FileInputFormat详解
- hadooop的wordcount程序
- Hadooop 学习笔记
- hadoop FileInputFormat.addInputPaths兼容FileInputFormat.setInputPath
- ubuntu下eclipse配置hadooop
- 在Hadoop中重写FileInputFormat类以处理二进制格式存储的整数
- MapReduce对输入多文件的处理2自定义FileInputFormat类
- FileInputFormat类中split切分算法和host选择算法介绍
- 11月,我的生活计划
- 关于正则一些探究
- 折半查找插入排序算法
- [UVA 11235]Frequent values[线段树区间查询]
- C#原子操作 Lock用法
- hadooop 之 FileInputFormat 类
- lightoj 1258(manacher)
- c语言二进制八进制和十六进制的总结
- 关于开发定位导航软件中间件的思考
- 数据提供与访问
- 好的开始是成功的一半。
- JSON的结构
- leetcode笔记:Triangle
- C#中IDisposable