专栏首页波波烤鸭MapReduce之Eclipse本地运行

MapReduce之Eclipse本地运行

  前面我们介绍的wordcount案例是在Eclipse中写好代码,然后打成jar包,然后在Linux环境中执行的,这种方式在我们学习和调试的时候就显得非常的不方便,所以我们来介绍下直接在Eclipse运行的本地运行方式。

本地运行模式

本地运行模式的特点

  1. mapreduce程序是被提交给LocalJobRunner在本地以单进程的形式运行。
  2. 而处理的数据及输出结果可以在本地文件系统,也可以在hdfs上。
  3. 本地模式非常便于进行业务逻辑的debug,只要在eclipse中打断点即可

环境准备

  1. Windows系统中我们需要安装hadoop环境。

具体操作参考此文:https://dpb-bobokaoya-sm.blog.csdn.net/article/details/88960266

  1. 配置环境变量信息

测试

package com.sxt.mr.wc;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

/**
 * MapReduce的启动类
 * @author dengp
 *
 */
public class WcTest {

	public static void main(String[] args) throws Exception {
		// 1.获取配置文件对象
		Configuration conf = new Configuration(true);
		
		conf.set("mapreduce.framework.name", "local");
		// 输出到HDFS文件系统中
		// conf.set("fs.defaultFS", "hdfs://hadoop-node01:9000");
		// 输出到本地文件系统
		conf.set("fs.defaultFS", "file:///");
		
		// 2.获取Job实例
		Job job = Job.getInstance(conf);
		
		// 3.设置类对象
		job.setJarByClass(WcTest.class);
		
		// 4.设置对应的自定义的MapTask和ReduceTask
		job.setMapperClass(MyMapperTask.class);
		job.setReducerClass(MyReduceTask.class);
		
		// 5.设置MapTask的输出数据类型
		job.setOutputKeyClass(Text.class);
		job.setOutputValueClass(IntWritable.class);
		
		// 6.设置输出输出类
		FileInputFormat.setInputPaths(job, new Path("c:/tools/bigdata/mr/wc/input/"));
		FileOutputFormat.setOutputPath(job, new Path("c:/tools/bigdata/mr/wc/output/"));
		
		// 7.提交任务
		job.waitForCompletion(true);
	}
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Hadoop05【命令操作】

      上篇文章我们成功的搭建了hadoop的集群环境,本文来介绍下hadoop的基本操作

    用户4919348
  • Class文件结构介绍[属性表集合]

      在前面的内容中属性表(attribute_info)已经出现多多次了,在Class文件、字段表、方法表中都可以携带自己的属性集合,用于描述某些场景专有的信息...

    用户4919348
  • Hadoop04【集群环境搭建】

    链接:https://pan.baidu.com/s/1OXiW1i3gD6fVvrFX7NXsJg 提取码:nyzk 下载内容包括源文件和编译的文件。

    用户4919348
  • Hadoop 利用ToolRunner运行MapReduce

    大多数人通常使用通过静态 main 方法执行驱动程序代码创建他们的 MapReduce 作业。这种实现的缺点是大多数特定的配置(如果有的话)通常都是硬编码的(例...

    smartsi
  • MapReduce快速入门系列(14) | MapReduce之计数器应用及简单的数据清洗(ETL)

      Hadoop为每个作业维护若干内置计数器,以描述多项指标。   比如说,某些计数器记录已处理的字节数和记录数,使用户可监控已处理的输入数据量和已产生的输出...

    不温卜火
  • Hadoop: MapReduce2的几个基本示例

    1) WordCount  这个就不多说了,满大街都是,网上有几篇对WordCount的详细分析 http://www.sxt.cn/u/235/blog/58...

    菩提树下的杨过
  • mapreduce -- wordcount执行流程

    注:要和安装的hadoop版本一致,并且运行hdfs <?xml version="1.0" encoding="UTF-8"?>

    wolf
  • Hadoop(十六)之使用Combiner优化MapReduce

      前面的一篇给大家写了一些MapReduce的一些程序,像去重、词频统计、统计分数、共现次数等。这一篇给大家介绍的是关于Combiner优化操作。

    大道七哥
  • hadoop MapReduce编写一个分组统计并排序查询-分组

    说一下需求,有一张销售统计表,记录每个销售员每天的销售情况,现在要统计出某一月的每个销售员的销售情况并且按照销售额从高往低排序(hadoop默认是升序)。

    尚浩宇
  • Eclipse下Hadoop的MapReduce开发之单Map编写

        先说下业务需求吧,有个系统日志文件,记录系统的运行信息,其中包含DEBUG、INFO、WARN、ERROR四个级别的日志,现在想要看到所有WARN级别的...

    尚浩宇

扫码关注云+社区

领取腾讯云代金券