首页 > 其他分享 >mapreduce基础JOB操作

mapreduce基础JOB操作

时间:2023-01-09 18:37:06浏览次数:39  
标签:wcjob org hadoop mapreduce JOB import apache 操作


package cagy.mapreduce.wordcount;
import java.io.IOException;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.util.StringUtils;

public class WordCountMapper extends Mapper<LongWritable,Text ,Text, LongWritable>
{
protected void map(LongWritable key,Text value,Context context) throws IOException, InterruptedException
{
String line =value.toString();
//切分
String[] words=StringUtils.split(line,' ');
//word,1
for(String word:words)
{
context.write(new Text(word),new LongWritable(1));
}
}
}
package cagy.mapreduce.wordcount;
import java.io.IOException;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.Mapper.Context;
public class WordCountReducer extends Reducer<Text, LongWritable, Text, LongWritable>
{
protected void reduce(Text key,Iterable<LongWritable> values,Context context) throws IOException, InterruptedException
{
long count=0;
for(LongWritable value:values)
{
count+=value.get();
}
//out
context.write(key,new LongWritable(count));
}
}

 

 

package cagy.mapreduce.wordcount;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.LongWritable;
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;

/***
*
*
* 初始化JOB
* 最后丢给hadoop
* @author Administrator
*
*/
public class WordCountRunner {

public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException {
// TODO Auto-generated method stub
Configuration conf=new Configuration();
Job wcjob=Job.getInstance(conf);
wcjob.setJarByClass(WordCountRunner.class);//设置JOB

wcjob.setMapperClass(WordCountMapper.class);

wcjob.setReducerClass(WordCountReducer.class);
//MAP输出的KV数据类型
wcjob.setMapOutputKeyClass(Text.class);
wcjob.setMapOutputValueClass(LongWritable.class);
//reducer输出的KV类型
wcjob.setOutputKeyClass(Text.class);
wcjob.setOutputValueClass(LongWritable.class);
//HDFS路劲
FileInputFormat.setInputPaths(wcjob, "hdfs://192.168.0.109:9000/wc/data");
//制定结果输出路劲
FileOutputFormat.setOutputPath(wcjob, new Path("hdfs://192.168.0.109:9000/wc/output1"));
boolean res=wcjob.waitForCompletion(true);

// System.exit(res?0:1);
}

}

 

 

最后导出JAR FILE,上传到HADOOP集群 

 执行命令

hadoop jar wc.jar cagy.mapreduce.wordcount.WordCountRunner

标签:wcjob,org,hadoop,mapreduce,JOB,import,apache,操作
From: https://blog.51cto.com/u_14650780/5998666

相关文章

  • HIVE简单操作命令
    beelinebeeline>!connectjdbc:hive2://192.168.2.2:10000hdfs回车回车直接用默认表,不需要配置权限createtablest(idint,namestring)rowformatdelimitedfieldster......
  • C++实现链队列相关操作代码
    #include<iostream>#include<cstdlib>usingnamespacestd;#defineMAXSIZE100#defineOK1#defineERROR0typedefintStatus;typedefintElemtype;typedefstructQno......
  • 软件架构设计 - 01 操作系统
     1、零拷贝(【内核区】内存缓存区-Socket缓冲区映射) 2、内存映射(【内核区】内核内存缓冲区-【用户区】应用程序内存) 3、Reactor和Proactor模式    Reactor......
  • Flink合流操作
    合流1、概念将不同流中的数据汇聚在一起,然后可以进行一个统计等相关操作。2、基本合流操作union和connectunion算子可以合并多个同类型的数据流,并生成同类型的数据流......
  • chrome究极暗夜操作
    有时候由黑色背景切换到白色背景会莫名的刺眼,尤其是晚上的时候,这种场景主要体现在由编辑器到百度(面相cv编程)所以拥有一个全黑的浏览器,应该是非常炫酷的,之前尝试过不同......
  • CAD参照缩放怎么操作?CAD参照缩放教程
    CAD外部参照指可以将整个图形作为参照图形附着到当前的图形中,当插入的CAD外部参照尺寸不合适时,该如何调整呢?这个问题其实很简单,下面小编来给大家分享一下CAD参照缩放怎么操......
  • MySQL入门之查询操作
    单表查询SELECT[DISTINCT]*|<字段名1,字段名2,字段名3,...> FROM<表名> [WHERE<条件查询表达式1>] [GROUPBY<字段名>[HAVING<条件表达式2>]] [ORDERBY<字段......
  • MySQL入门之表和数据的操作
    数据表的操作创建数据表时,要先use数据库名;来确定要操作的数据库。创建数据表CREATE[TEMPORARY]TABLE[IFNOTEXISTS]表名(字段名字段类型[字段属性]...)[表选项]......
  • AXI原子操作总结
    AXI3原子访问是一系列针对存储区域的操作。当主机想要对特定存储区域执行一系列访问时,会采用原子访问来确保该区域中的原始数据不会被其他主机写入修改。这些访问操作通常......
  • Dell T320 RAID 1 磁盘替换坏的一块盘的操作
    DellT320RAID1磁盘替换坏的一块盘的操作 ......