使用HDFS API完成HDFS文件系统上的文件的词频统计(wordcount)

本文介绍如何使用HDFS API在HDFS文件系统上进行词频统计(wordcount)。通过创建整体框架、自定义上下文、Mapper接口及其实现类,实现了对文件的词频统计,并将结果输出到HDFS。文中还提到,为了避免硬编码,后续会讨论代码重构以实现可配置性。

使用HDFS API完成HDFS文件系统上的文件的词频统计(wordcount)
词频统计:wordcount
如两个文件:
/path/1.txt
hello world hello
(注意是tab分割还是space分割)

/path/2.txt
hello world hello

结果:==> (hello,4) (world,2)
将统计完的结果输出到HDFS上去。
1.首先编写整体框架

import com.imooc.bigdata.hadoop.mr.wc.WordCountMapper;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.*;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URI;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/**
 * 使用HDFS API完成wordcount统计
 *
 * 需求:统计HDFS上的文件的wc,然后将统计结果输出到HDFS
 *
 * 功能拆解:
 * 1)读取HDFS上的文件 ==> HDFS API
 * 2)业务处理(词频统计):对文件中的每一行数据都要进行业务处理(按照分隔符分割) ==>封装的方式抽取 Mapper
 * 3)将处理结果缓存起来   ==> Context抽取出来
 * 4)将结果输出到HDFS ==> HDFS API
 *
 */
public class HDFSWCApp01 {

    public static void main(String[] args) throws Exception {

        // 1)读取HDFS上的文件 ==> HDFS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值