资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Hadoop大数据解决方案进阶应用,Hadoop,讲师:迪伦(北风网版权所有),MapReduce高阶实现 (4),Hadoop Stream中的key和value 控制分片的大小 避免分片 把整个文件当作一条记录处理,课程目标,Hadoop Stream中的key和value,Stream应用可以决定分隔符,该分隔符用于通过标准输入把key/value对转换成一串比特值发送到map或reduce函数 默认是Tab(制表符) 通过-D 指定具体属性 分隔符作用的位置:,Hadoop Stream中的key和value,Stream分隔符属性,控制分片的大小,通过FileInputFormat类进行输入数据的分片 FileInputFormat只分割大文件,即超过HDFS块大小的文件 控制分片大小的属性,可以强制设置分片比文件块大或者比块小 分片大小的计算公式Math.max(minSize, Math.min(goalSize, blockSize);其中goalSize为“InputFile大小”/“我们在配置文件中定义的mapred.map.tasks”值,控制分片的大小,参数设置如何影响分片大小,避免分片,有些应用程序可能不希望文件被切分,而是用一个mapper完整处理每一个输入文件 两种方法 增加分片大小,将它设置为最大值long.MAX_VALUE即可 使用FileInputFormat具体子类,重载isSplitable()方法把返回值位置为false。,把整个文件当作一条记录处理,有些应用程序需要访问一个文件中的全部内容。即使不分割文件,仍然需要一个RecordReader来读取文件内容作为record的值 具体实现:,把整个文件当作一条记录处理,把整个文件当作一条记录处理,欢迎访问我们的官方网站 ,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号