`
genius_bai
  • 浏览: 81725 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Hadoop MapReduce例子

阅读更多

Hadoop 例子

 

MR作业的串联

有时候,用一个单独的Map/Reduce作业并不能完成一个复杂的任务,用户也许要链接多个Map/Reduce作业才行。这是容易实现的,因为作业通常输出到分布式文件系统上的,所以可以把这个作业的输出作为下一个作业的输入实现串联。

然而,这也意味着,确保每一作业完成(成功或失败)的责任就直接落在了客户身上。

 

org.apache.hadoop.examples.Grep

 

自定义Key,InputFormat,

org.apache.hadoop.examples.MultiFileWordCount

 

 

TeraSort

Trie树详解

http://www.cppblog.com/abilitytao/archive/2009/04/21/80598.html

http://www.cnblogs.com/cherish_yimi/archive/2009/10/12/1581666.html

 

 

生成TeraSort所需要的随机文件

org.apache.hadoop.examples.RandomTextWriter

3台机器,每台一个Map,产生1G的随机文件(1G对于测试机器负载太大,后来修正为200M)

bin/hadoop fs -rmr tera-sort-source

 

bin/hadoop jar examples-hadoop.zip  org.apache.hadoop.examples.RandomTextWriter -Dtest.randomtextwrite.bytes_per_map=52428800  tera-sort-source

第一次1G:10/04/16 11:34:15--10/04/16 11:39:02

第二次200M(209715200):The job took 53 seconds

第三次50M(52428800):The job took 28 seconds.

 

bin/hadoop jar examples-hadoop.zip org.apache.hadoop.examples.WordCount tera-sort-source word-count-out

 

 

bin/hadoop job -kill job_201004151046_0034

bin/hadoop fs -rmr tera-sort-out 

bin/hadoop jar examples-hadoop.zip  org.apache.hadoop.examples.AggregateWordCount  tera-sort-source  tera-sort-out  3

 

 

执行TeraSort,同时利用TotalOrderPartition

http://hadoop.apache.org/common/docs/current/api/org/apache/hadoop/examples/terasort/package-summary.html

 

org.apache.hadoop.examples.terasort.TeraSort

程序中指定输出结果的replication为1

 

先测试简单的英文单词文件Sort结果

bin/hadoop fs -mkdir  tera-sort-simple

bin/hadoop fs -put tera-sort.txt  tera-sort-simple/

bin/hadoop fs -rmr tera-sort-simple-out

 

bin/hadoop jar examples-hadoop.zip  org.apache.hadoop.examples.terasort.TeraSort  -Dmapred.reduce.tasks=36  tera-sort-simple  tera-sort-simple-out

 

bin/hadoop fs -rmr tera-sort-out

 

bin/hadoop jar examples-hadoop.zip  org.apache.hadoop.examples.terasort.TeraSort  -Dmapred.reduce.tasks=3 tera-sort-source  tera-sort-out

第一次,执行的时候,抛出异常,而且test-a机器挂掉。

第二次,中间有异常,但是Job最终执行成功,指定1个Reduce

Task Id : attempt_201004161343_0001_m_000050_0, Status : FAILED

Could not find any valid local directory for taskTracker/jobcache/job_201004161343_0001/attempt_201004161343_0001_m_000023_1/output/spill0.out

10/04/16 13:44:27
10/04/16 13:55:10

 

第三次,3GB,指定36个Reduce,2.79当机。

第四次600M,指定3个Reduce,OK

10/04/16 15:24:55

10/04/16 15:25:50

 

查看结果

bin/hadoop fs -get /user/iic/tera-sort-out/part-00000    sort1.txt

 

 

 

自定义Key,Partition,Comparator

org.apache.hadoop.examples.SecondarySort

WordCount

/home/bmb/hadoop-0.20.2/examples/wordcount.jar

 

bin/hadoop dfs -mkdir /usr/joe/wordcount/input

 

bin/hadoop dfs -put conf/*.xml /usr/joe/wordcount/input/

 

bin/hadoop dfs -ls /usr/joe/wordcount/input/

 

bin/hadoop dfs -rmr /usr/joe/wordcount/input/conf

  

bin/hadoop jar ./examples/wordcount.jar org.apache.hadoop.examples.WordCount /usr/joe/wordcount/input /usr/joe/wordcount/output

 

bin/hadoop dfs -cat /usr/joe/wordcount/output/part-r-00000

Hadoop数据库操作例子

测试项目D:\7g\Projects\BMB\Hadoop-Projects\Hadoop-Learning

 

l  加入驱动ojdbc14.jar/home/bmb/hadoop-0.20.2/lib,(需要重启)

l  解决不支持oraclebug:  D:\7g\Projects\BMB\Hadoop-Projects\Hadoop-src

http://203.208.39.132/search?q=cache:CGAATmmBKD8J:www.mail-archive.com/core-user%40hadoop.apache.org/msg08342.html+hadoop+oracle&cd=4&hl=zh-CN&ct=clnk&gl=cn&st_usg=ALhdy29MmHdqiAIgRzFMaaE0Z2LnKl6EBw

 

http://www.nabble.com/HADOOP-2536-supports-Oracle-too--tp21823199p22471395.html

 

Oracle 报错:java.io.IOException: ORA-00911: invalid character

修改DBOutputFormat的方法constructQuery(),去掉”;”

 

HSQL DB

bin/hadoop jar hadoop-*-examples.jar dbcount

 

bin/hadoop jar ./examples/bmb.jar com.bmb.examples.DBCountPageView

 

bin/hadoop jar ./examples/bmb.jar com.bmb.examples.DBCountPageView2

 

Bug:

当有2台以上的Datanode,hadoop分配数据出现重复

 

 

 

URL Access Log访问计算

bin/hadoop dfs -mkdir  url-access-log

bin/hadoop dfs -put  examples/test-data/*.txt  url-access-log

bin/hadoop dfs -ls /user/root/url-access-log

bin/hadoop jar examples/bmb.jar com.bmb.examples.URLFileLogTest  url-access-log  url-access-log-out1

bin/hadoop dfs -cat /user/root/url-access-log-out1/part-r-00000

 

 

examples.StoreTableDataMap

计算文件里面各个用","分隔开的词语的出现次数

Hadoop提供的简化MR的Aggregate框架,做各种数学运算

org.apache.hadoop.mapred.lib.aggregate

org.apache.hadoop.examples.AggregateWordCount

 

分享到:
评论

相关推荐

    hadoop mapreduce 例子项目,运行了单机wordcount

    Hadoop MapReduce是一种分布式计算框架,它允许在大型数据集上进行并行处理。这个例子项目是关于在单机环境中运行WordCount程序的,这是一个经典的MapReduce示例,用于统计文本文件中每个单词出现的次数。 首先,让...

    Hadoop之MapReduce编程实例完整源码

    学习完此例子后,你能掌握MapReduce基础编程,及如何编译Java文件,打包jar文件,编写shell执行脚本等。后续学习还可以参看本人的CSDN博客,如有问题也可以在线为你解答,不过本人也学习Hadoop不足一年,现学现卖...

    Hadoop MapReduce Cookbook 源码

    《Hadoop MapReduce Cookbook 源码》是一本专注于实战的书籍,旨在帮助读者通过具体的例子深入理解并掌握Hadoop MapReduce技术。MapReduce是大数据处理领域中的核心组件,尤其在处理大规模分布式数据集时,它的重要...

    hadoop mapreduce helloworld 能调试

    6. **Wordcount 示例**:这个例子是最基础的 MapReduce 任务,它的目的是统计文本中单词出现的次数。Map 阶段将每个单词作为键,计数值为 1,Reduce 阶段则将所有相同的键值对聚合,计算出每个单词的总数。 在 ...

    Hadoop MapReduce.pdf

    通过上述步骤,我们可以了解到Hadoop MapReduce的基本工作原理及其如何应用于实际问题中,特别是WordCount这类简单但经典的例子。这种分布式处理模型极大地提高了大规模数据处理的效率和性能,为大数据领域的发展...

    hadoop集群mapreduce例子共52页.pdf.z

    这个压缩文件"Hadoop集群MapReduce例子共52页.pdf.zip"包含了52页详细讲解Hadoop MapReduce的实例教程,旨在帮助用户深入理解并掌握这一技术。 MapReduce的工作原理基于两个主要阶段:Map和Reduce。Map阶段将大规模...

    Python中Hadoop MapReduce的一个简单示例.zip

    在这个例子中,"simple_Hadoop_MapReduce_example-master"可能是一个包含具体代码和说明的项目目录,用于演示如何在Python中编写MapReduce程序。Python作为一门灵活且易学的语言,被广泛用于Hadoop开发,通过Pydoop...

    基于 Hadoop 平台,使用 MapReduce 编程,统计NBA球员五项数据.zip

    在这个项目“基于 Hadoop 平台,使用 MapReduce 编程,统计NBA球员五项数据”中,我们将深入探讨如何利用 Hadoop 的核心组件 MapReduce 对 NBA 球员的数据进行分析。 MapReduce 是一种编程模型,用于大规模数据集...

    Hadoop MapReduce入门

    Hadoop MapReduce是分布式计算领域的一项重要技术,它使得开发者能够处理大量的数据。MapReduce模型的核心思想是将复杂的、运行在大规模集群上的并行计算过程高度抽象到了两个函数:Map和Reduce。 Map函数:它主要...

    hadoop 框架下 mapreduce源码例子 wordcount

    在这个例子中,我们将深入理解Hadoop MapReduce的工作原理以及如何在Eclipse环境下实现WordCount源码。 1. **Hadoop MapReduce概述**: Hadoop MapReduce是由两个主要部分组成的:Map阶段和Reduce阶段。Map阶段将...

    java操作hadoop之mapreduce计算整数的最大值和最小值实战源码

    在大数据处理领域,Hadoop是不可或缺的一个开源框架,它提供了分布式存储(HDFS)和分布式计算(MapReduce)的能力。本教程将详细讲解如何使用Java编程语言操作Hadoop的MapReduce来计算整数序列中的最大值和最小值,...

    006_hadoop中MapReduce详解_3

    在Hadoop生态系统中,MapReduce是一种分布式计算框架,主要用于处理和生成大数据集。"006_hadoop中MapReduce详解_3"可能是指一个系列教程的第三部分,着重讲解MapReduce的核心概念、工作原理以及实际应用。在这个...

    Hadoop MapReduce

    ### Hadoop MapReduce核心知识点详解 #### 一、Hadoop MapReduce概述 **Hadoop MapReduce** 是一种分布式计算模型,被广泛应用于大数据处理领域。它通过将大规模数据集分割成若干个小数据块,然后利用分布式计算...

    Hadoop_MapReduce教程

    QQ空间的日志分析就是MapReduce的一个实际例子,它帮助处理和分析海量的用户行为数据。 总结来说,Hadoop MapReduce提供了一个强大而灵活的平台,使得开发人员可以专注于解决业务问题,而不必关心底层的分布式计算...

    Packtpub.Hadoop.MapReduce.Cookbook.Jan.2013

    在实际操作部分,书中的例子通常会涉及到具体的编程语言,如Java,因为MapReduce的官方API是基于Java的。然而,为了适应不同开发者的需求,书里也可能介绍基于Python或Scala的工具,如PySpark和Scalding,它们提供了...

    MapReduce 2.0

    自从Google在2004年发布了关于MapReduce的论文后,其概念被广泛应用于各种大数据处理框架中,最著名的莫过于Apache Hadoop项目中的Hadoop MapReduce。MapReduce 2.0则是对原始MapReduce模型的改进,它在很多方面提供...

    HadoopMapReduce:数据集链接的Hadoop MapReduce实践问题

    标题中的“Hadoop MapReduce:数据集链接的Hadoop MapReduce实践问题”表明我们将探讨如何在Hadoop MapReduce框架中处理数据集之间的连接操作。在大数据处理领域,数据集链接是常见的任务,例如用于合并来自不同来源...

    Hadoop中的HDFS和Mapreduce

    ### Hadoop中的HDFS和MapReduce #### Hadoop核心组件:HDFS与MapReduce **Hadoop** 是一个能够处理海量数据的开源软件框架,它最初由Apache开发,旨在为大规模数据提供分布式处理能力。Hadoop的核心组件包括**HDFS...

    MapReduce的两个简单例子

    MapReduce是Google提出的一种分布式计算模型,被广泛应用于大数据处理领域,尤其是在Hadoop框架下。本文将通过两个简单的MapReduce实例来深入理解这一技术的工作原理和应用。 首先,我们来看第一个例子:WordCount...

Global site tag (gtag.js) - Google Analytics