文档详情

Hadoop数据如何分片.pdf

发布:2017-04-11约7.81千字共10页下载文档
文本预览下载声明
青灯系列(1001) Hadoop数据如何分片 第 1 页 共 10 页 Hadoop数据如何分片 Hadoop版本:1.0.3 作者:青灯 E-mail:1350540904@ 青灯版本 本文版本 版本备注 完成时间 1001 1.0 第一版 2012.9.25 青灯系列(1001) Hadoop数据如何分片 第 2 页 共 10 页 目录 1 前言 ........................................................................................................................... 3 2 INPUTFORMAT 的基本思想 ................................................................................. 3 3 数据分片的一个详细例子 ....................................................................................... 3 3.1 INPUTFORMAT类 ................................................................................................ 3 3.2 INPUTSPLIT类 ..................................................................................................... 5 3.3 RECORDREADER类 ............................................................................................. 6 3.4 写一个 MAPPER类来使用这个自定义的 INPUTFORMAT ............................... 8 3.5 写一个 MAPREDUCER类测试下 ....................................................................... 8 3.6 测试结果 ........................................................................................................... 10 青灯系列(1001) Hadoop数据如何分片 第 3 页 共 10 页 1 前言 青灯照壁人初睡,冷雨敲窗被未温。 码农这一行,本就已经这样凄凄惨惨戚戚。还要相互之间设置技术壁垒,不 是更加自虐么? 希望我的青灯系列能够激起一丁点的效果,让技术的交流能够更畅通一些。 编辑这个青灯系列,还有两点私心:其一,希望逼着自己整理思路;其二, 更希望朋友们对青灯系列中,错误纰漏之处给予指正。不甚感激! 2 InputFormat的基本思想 Hadoop 使用这个抽象类来将输入的数据逻辑分成多个部分。并提供了一个 读取各个逻辑分片数据的 RecordReader对象。 InputFormat 有两个方法: (1) ListInputSplit getSplits(JobContext context) 负责将一个大数据逻辑分成多片。比如数据库表有 100 条数据,按照主 键 ID升序存储。假设每 20条分成一片,那么这个 List 的大小就是 5,然后 每个 InputSplit 记录两个参数,第一个为这个分片的起始 ID,第二个为这个 分片数据的大小,这里是 20。很明显 InputSplit 并没有真正存储数据。只是 提供了一个如何将数据分片的方法 (2)RecordReaderK,V createR
显示全部
相似文档