hadoop开发视频教程(1)_第1页
hadoop开发视频教程(1)_第2页
hadoop开发视频教程(1)_第3页
hadoop开发视频教程(1)_第4页
hadoop开发视频教程(1)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Hadoop大数据解决方案进阶应用Hadoop讲师:迪伦(北风网版权所有)MapReduce高阶实现 (5)1编辑ppt 文本输入 多种输入 实例:数据分区课程目标2编辑ppt文本输入-KeyValueTextInputFormat通常输入的文本中的每一行是一个Key/value对,使用某个分界符进行分隔,比如Tab可以通过key.value.separator.in.input.line属性来指定分隔符示例,输入:输出:3编辑pptXML文件读取XML文档按标签来进行分割Hadoop提供了StreamXmlRecordReader类(在org.apache.hadoop.streaming包

2、中)通过把输入格式设置为StreamInputFormat,把Stream.recordreader.class属性设置为org.apache.hadoop.streaming.StreamXmlRecordReader来使用例如,维基百科用XML格式来提供大量内容,非常适合用MapReduce来并行处理4编辑ppt多种输入默认MapReduce所有文件都一个InputFormat和同一个Mapper来解释现实当中,数据格式会随时间演变,或有些数据源会提供不同格式的相同数据可以用MultipleInputs类来解决,它允许每条输入路径指定InputFormat和Mapper例如,两种气象数据集

3、输入这段代码取代了对FileInputFormat.addInputPath()和conf.setMapperClass()的常规调用5编辑ppt多种输入如果有多种输入格式而只有一个mapper(通过JobConf的setMapper()方法设定),可使用MultipleInputs类的一个重载版本的addInputPath()方法:6编辑ppt多个输出对输出的文件名进行控制,或者让每个reducer输出多个文件MapReduce为此提供了两个库:MultipleOutputFormat和MultipleOutputs实例:数据分区需求:按气象站来区分气象数据,需要运行一个作业,作业的输出是每

4、个气象站一个文件,此文件包含该气象站的所有数据记录思路:1、写一个partitioner,把同一个气象站的数据放到同一个分区2、把作业的reducer数设为气象站的个数7编辑ppt实例:数据分区Partitioner的实现getPartition(String)把气象站ID转换成分区索引号,因此输入一个所有气象站的列表给它,然后返回列表中气象站ID的索引8编辑ppt实例:数据分区方案的缺陷需要在作业运行之前知道分区数和气象站的个数让应用程序来严格限定分区数可能导致分区不均让应用程序设定分区数的两种特殊情况0个reducer没有分区,只执行map任务1个reducer合并成单个输出。前提是数据量足够小解决方案最好能让集群为作业决定分

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论