使用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

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

被折叠的 条评论
为什么被折叠?



