输入分片与记录课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《输入分片与记录课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 输入 分片 记录 课件
- 资源描述:
-
1、MapReduce的类型与格式夏瑞仙Page 2n MapReduce数据处理模型非常简单:map和reduce函数的输入和输出是键/值对(key/value pair)。n 本章深入讨论MapReduce模型,重点介绍各种类型的数据(从简单文本到结构化的二进制对象)如何在MapReduce中使用引言Page 3目录n MapReduce的类型 默认的MapReduce作业n 输入格式 输入分片与记录 文本输入 二进制输入 多种输入 数据库输入(和输出)n 输出格式 文本输出 二进制输出 多个输出 延迟输出 数据库输出Page 4MapReduce的类型n map:(K1,V1)list(K2
2、,V2)n reduce:(K2,list(V2)list(K3,V3)一般来说,map函数输入的键/值的类型(K1和V1)不同于输出类型(K2和V2)reduce函数的输入类型必须与map函数的输出类型相同,但reduce函数的输出类型可以不同于输入类型Page 5MapReduce的类型n map:(K1,V1)list(K2,V2)n combine:(K2,list(V2)list(K2,V2)n reduce:(K2,list(V2)list(K3,V3)combine函数与reduce函数通常是一样的,在这种情况下,K3与K2类型相同,V3与V2类型相同Page 6MapReduc
3、e的类型n partition:(K2,V2)integern partition函数将中间的键/值对(K2和V2)进行处理,并且返回一个分区索引。实际上分区单独由键决定Page 7MapReduce的类型n 为什么不能结合mapper和reducer导出类型呢?Page 8 默认的MapReduce作业n 默认的输入格式是TextInputFormat,它产生的键类型是LongWritable,值类型是Text(文本行)n 默认的mapper是IdentityMapper,它将输入的键和值原封不动地写到输出中 IdentityMapper是一个泛型类型,它可以接受任何键或值的类型,只要map
4、输入和输出键的类型相同,值的类型也相同就可以Page 9 默认的MapReduce作业n 默认的partitioner是HashPartitioner,它对每条记录的键进行哈希操作以决定该记录应该属于哪个分区。每个分区对应一个reducer任务 键的哈希码被转换为一个非负整数,它由哈希值与最大的整型值做一次按位与操作而获得,然后用分区数进行取模操作,来决定该记录属于哪个分区索引 Page 10 默认的MapReduce作业n 默认的reducer是IdentityReducer,它也是一个泛型类型,它简单的将所有的输入写到输出中 大多数MapReduce程序不会一直用相同的键或值类型,所以就想
5、上一节中描述的那样,必须配置作业来声明使用的类型 Page 11 默认的Streaming作业n 必须提供一个mappern 因为默认的输入格式TextInputFormat产生的键类型是LongWritable,值类型是Text,而Streaming的输出键和值(包括map的键和值)都是Text类型。默认的IdentityMapper无法将LongWritable类型的键转换为Text类型的键Page 12Streaming中的键和值nStreaming应用可以决定分隔符,该分隔符用于通过标准输入把键/值对转换为一串比特值发送到map或reduce函数。n分隔符默认情况下是Tab(制表符),
6、但如果键或值本身含有Tab,它能将分隔符修改成其他符号n输出键/值对时,也需要用一个可配置的分隔符来进行分割Page 13Streaming中的键和值Page 14输入格式Page 15输入格式输入分片与记录输入分片与记录一个输入分片(split)就是由单个map处理的输入块每条记录就是一个键/值对在数据库的场景中,一个输入分片对应于一个表上的若干行,而一条记录对应到一行(DBInputFormat正是这么做的,它这种输入格式用于从关系数据库读取数据)。Page 16输入格式输入分片与记录输入分片与记录输入分片(split)在Java中被表示为InputSplit接口InputSplit包含一
展开阅读全文