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 解决不支持oracle的bug: 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程序的,这是一个经典的MapReduce示例,用于统计文本文件中每个单词出现的次数。 首先,让...
学习完此例子后,你能掌握MapReduce基础编程,及如何编译Java文件,打包jar文件,编写shell执行脚本等。后续学习还可以参看本人的CSDN博客,如有问题也可以在线为你解答,不过本人也学习Hadoop不足一年,现学现卖...
《Hadoop MapReduce Cookbook 源码》是一本专注于实战的书籍,旨在帮助读者通过具体的例子深入理解并掌握Hadoop MapReduce技术。MapReduce是大数据处理领域中的核心组件,尤其在处理大规模分布式数据集时,它的重要...
6. **Wordcount 示例**:这个例子是最基础的 MapReduce 任务,它的目的是统计文本中单词出现的次数。Map 阶段将每个单词作为键,计数值为 1,Reduce 阶段则将所有相同的键值对聚合,计算出每个单词的总数。 在 ...
通过上述步骤,我们可以了解到Hadoop MapReduce的基本工作原理及其如何应用于实际问题中,特别是WordCount这类简单但经典的例子。这种分布式处理模型极大地提高了大规模数据处理的效率和性能,为大数据领域的发展...
这个压缩文件"Hadoop集群MapReduce例子共52页.pdf.zip"包含了52页详细讲解Hadoop MapReduce的实例教程,旨在帮助用户深入理解并掌握这一技术。 MapReduce的工作原理基于两个主要阶段:Map和Reduce。Map阶段将大规模...
在这个例子中,"simple_Hadoop_MapReduce_example-master"可能是一个包含具体代码和说明的项目目录,用于演示如何在Python中编写MapReduce程序。Python作为一门灵活且易学的语言,被广泛用于Hadoop开发,通过Pydoop...
在这个项目“基于 Hadoop 平台,使用 MapReduce 编程,统计NBA球员五项数据”中,我们将深入探讨如何利用 Hadoop 的核心组件 MapReduce 对 NBA 球员的数据进行分析。 MapReduce 是一种编程模型,用于大规模数据集...
Hadoop MapReduce是分布式计算领域的一项重要技术,它使得开发者能够处理大量的数据。MapReduce模型的核心思想是将复杂的、运行在大规模集群上的并行计算过程高度抽象到了两个函数:Map和Reduce。 Map函数:它主要...
在这个例子中,我们将深入理解Hadoop MapReduce的工作原理以及如何在Eclipse环境下实现WordCount源码。 1. **Hadoop MapReduce概述**: Hadoop MapReduce是由两个主要部分组成的:Map阶段和Reduce阶段。Map阶段将...
在大数据处理领域,Hadoop是不可或缺的一个开源框架,它提供了分布式存储(HDFS)和分布式计算(MapReduce)的能力。本教程将详细讲解如何使用Java编程语言操作Hadoop的MapReduce来计算整数序列中的最大值和最小值,...
在Hadoop生态系统中,MapReduce是一种分布式计算框架,主要用于处理和生成大数据集。"006_hadoop中MapReduce详解_3"可能是指一个系列教程的第三部分,着重讲解MapReduce的核心概念、工作原理以及实际应用。在这个...
### Hadoop MapReduce核心知识点详解 #### 一、Hadoop MapReduce概述 **Hadoop MapReduce** 是一种分布式计算模型,被广泛应用于大数据处理领域。它通过将大规模数据集分割成若干个小数据块,然后利用分布式计算...
QQ空间的日志分析就是MapReduce的一个实际例子,它帮助处理和分析海量的用户行为数据。 总结来说,Hadoop MapReduce提供了一个强大而灵活的平台,使得开发人员可以专注于解决业务问题,而不必关心底层的分布式计算...
在实际操作部分,书中的例子通常会涉及到具体的编程语言,如Java,因为MapReduce的官方API是基于Java的。然而,为了适应不同开发者的需求,书里也可能介绍基于Python或Scala的工具,如PySpark和Scalding,它们提供了...
自从Google在2004年发布了关于MapReduce的论文后,其概念被广泛应用于各种大数据处理框架中,最著名的莫过于Apache Hadoop项目中的Hadoop MapReduce。MapReduce 2.0则是对原始MapReduce模型的改进,它在很多方面提供...
标题中的“Hadoop MapReduce:数据集链接的Hadoop MapReduce实践问题”表明我们将探讨如何在Hadoop MapReduce框架中处理数据集之间的连接操作。在大数据处理领域,数据集链接是常见的任务,例如用于合并来自不同来源...
### Hadoop中的HDFS和MapReduce #### Hadoop核心组件:HDFS与MapReduce **Hadoop** 是一个能够处理海量数据的开源软件框架,它最初由Apache开发,旨在为大规模数据提供分布式处理能力。Hadoop的核心组件包括**HDFS...
MapReduce是Google提出的一种分布式计算模型,被广泛应用于大数据处理领域,尤其是在Hadoop框架下。本文将通过两个简单的MapReduce实例来深入理解这一技术的工作原理和应用。 首先,我们来看第一个例子:WordCount...