`

Hadoop MapReduce程序开发(一)

阅读更多

1.Configuration

package com.mapreduce.test1;

import org.apache.hadoop.conf.Configuration;


public class Test1 {
	public static void main(String[] args) {
		Configuration conf = new Configuration();
		conf.addResource("config-default.xml");
		conf.addResource("config-site.xml");
		System.out.println(conf.get("hadoop.tmp.dir"));
		System.out.println(conf.get("height"));
	}
}

 多个配置文件顺序加进来,后面覆盖前面属性,但不能覆盖final为true的属性

 

2.Mapper处理的数据是由InputFormat分解过来的数据集InputSplit,RecordReader将split分解成<key, value>

package com.mapReducce.test;

import java.io.IOException;
import java.util.StringTokenizer;

import org.apache.hadoop.io.FloatWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;

public class Map extends Mapper<LongWritable, Text, Text, FloatWritable> {

	@Override
	protected void map(LongWritable key, Text value,
			Context context)
			throws IOException, InterruptedException {
		String line = value.toString();
		System.out.println(line);
		StringTokenizer token = new StringTokenizer(line, " ");
		String symb1 = token.nextToken();
		String symb2 = token.nextToken();
		
		context.write(new Text(symb1), new FloatWritable(Float.valueOf(symb2)));
	}
	
}

 3.Reduce

package com.mapReducce.test;

import java.io.IOException;
import java.util.StringTokenizer;

import org.apache.hadoop.io.FloatWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;

public class Map extends Mapper<LongWritable, Text, Text, FloatWritable> {

	@Override
	protected void map(LongWritable key, Text value,
			Context context)
			throws IOException, InterruptedException {
		String line = value.toString();
		System.out.println(line);
		StringTokenizer token = new StringTokenizer(line, " ");
		String symb1 = token.nextToken();
		String symb2 = token.nextToken();
		
		context.write(new Text(symb1), new FloatWritable(Float.valueOf(symb2)));
	}
	
}

 

分享到:
评论

相关推荐

    Hadoop MapReduce实现tfidf源码

    在Hadoop 2.7.7版本中,开发MapReduce程序通常需要使用Java编程语言。你需要导入Hadoop的相关库,创建Mapper和Reducer类,并实现它们的map()、reduce()方法。此外,还需要配置Job参数,如输入路径、输出路径、Mapper...

    大数据 hadoop mapreduce 词频统计

    Hadoop是Apache软件基金会开发的一个开源框架,专门用于处理和存储大规模数据集。Hadoop的核心组件包括HDFS(Hadoop Distributed File System)和MapReduce,这两个组件共同为大数据处理提供了强大的支持。 ...

    Hadoop集群搭建部署与MapReduce程序关键点个性化开发.doc

    总的来说,搭建Hadoop集群和开发MapReduce程序是一个系统性的工程,涉及到操作系统管理、网络配置、Java编程以及大数据处理原理。对于初学者来说,遵循详尽的步骤和代码示例是非常有益的,而逐步熟悉并理解这些过程...

    云计算技术实验报告三运行Hadoop MapReduce程序

    实验报告的标题为“云计算技术实验报告三运行Hadoop MapReduce程序”,这表明实验的核心是了解和实践Hadoop MapReduce的编程模型。MapReduce是一种分布式计算框架,常用于处理和生成大规模数据集,由Google提出并被...

    Java操作Hadoop Mapreduce基本实践源码

    这段代码展示了如何创建一个统计文本中单词出现次数的MapReduce程序。`TokenizerMapper`将文本分割成单词,并为每个单词生成一个键值对,键是单词,值是1。`IntSumReducer`则将所有相同的单词键对应的1求和,得到...

    hadoop学习本地win测试mapreduce程序,所要用到的环境软件.rar

    在进行Hadoop MapReduce的学习和开发时,尤其是在Windows环境下,我们通常需要搭建一个模拟的分布式环境来进行测试。这个"hadopp学习本地win测试mapreduce程序,所要用到的环境软件.rar"压缩包文件包含了实现这一...

    hadoop eclipse mapreduce 下开发所有需要用到的 JAR 包

    在Hadoop生态系统中,Eclipse是一个常用的集成开发环境(IDE),用于编写MapReduce程序。MapReduce是一种编程模型,用于大规模数据集的并行处理。它将大数据任务分解为两个主要阶段:映射(Map)和化简(Reduce)。...

    Hadoop MapReduce开发

    4. 集群测试:MapReduce程序开发完成后,需要在集群上进行测试。这个阶段使用真实的大型数据集,并且通常涉及Hadoop集群的配置和管理。 5. 性能优化:在集群测试阶段,可能会发现性能瓶颈,此时需要对MapReduce程序...

    Hadoop_MapReduce教程.doc

    6. **应用程序开发**: 不局限于Java,Hadoop提供了多种编程语言的支持。如Hadoop Streaming允许使用任意可执行程序(如Shell脚本)作为mapper和reducer,而Hadoop Pipes则是一个C++ API,可用于创建MapReduce应用...

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

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

    mapred.zip_hadoop_hadoop mapreduce_mapReduce

    在Hadoop生态系统中,MapReduce是一种分布式计算框架,它允许用户编写并运行处理大量数据的程序。这个"mapred.zip"文件显然包含了与Hadoop MapReduce相关的测试样例、文档和源码,这对于理解MapReduce的工作原理以及...

    Hadoop MapReduce教程.pdf

    **MapReduce**是Google提出的一种编程模型,用于大规模数据集(多TB甚至PB)的并行运算,设计目标是为非专业程序员提供一种简单的并行程序开发方式。Hadoop则是Apache基金会开发的一个开源框架,其核心组件包括HDFS...

    Hadoop_MapReduce教程

    - Hadoop MapReduce 提供了一种简单的方法来编写能够处理大量数据的应用程序。 - 开发者只需要定义 map 和 reduce 函数即可,框架会自动处理任务调度和执行细节。 #### 四、Hadoop MapReduce 应用场景 **1. 大...

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

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

    使用命令行编译打包运行自己的MapReduce程序 Hadoop2.6.0

    ### 使用命令行编译打包运行自己...以上就是使用命令行编译打包运行自己的MapReduce程序的过程详解,包括了Hadoop 2.6.0版本的变化、编译打包流程、运行命令解析以及使用Eclipse进行开发的方法。希望对初学者有所帮助。

    hadoop mapreduce

    开发Hadoop MapReduce程序通常需要使用Java,而Eclipse是一款流行的Java集成开发环境(IDE)。在Eclipse中,你可以创建一个Java项目,然后添加Hadoop相关的依赖库,如hadoop-core或hadoop-client。接下来,编写Map和...

    window下eclipse中运行mapreduce程序所需要的Hadoop全部jar包

    在Windows环境下,使用Eclipse开发MapReduce程序时,必须确保所有必要的Hadoop库都被正确引入。这是因为MapReduce是Hadoop生态系统中的核心组件,用于处理分布式计算任务。以下是一些关于如何在Eclipse中配置和使用...

    Hadoop原理与技术MapReduce实验

    (1)熟悉Hadoop开发包 (2)编写MepReduce程序 (3)调试和运行MepReduce程序 (4)完成上课老师演示的内容 二、实验环境 Windows 10 VMware Workstation Pro虚拟机 Hadoop环境 Jdk1.8 二、实验内容 1.单词计数实验...

    大数据-hadoop-mapreduce代码

    为了运行这些MapReduce程序,开发者需要设置Hadoop环境,包括安装Hadoop,配置集群参数,以及正确设置Hadoop的环境变量。此外,代码中可能还会涉及到Hadoop的相关API,如`InputFormat`、`OutputFormat`和`...

Global site tag (gtag.js) - Google Analytics