词频统计 MapReduce 初识+案例( 四 )


1?? Step1:通过 IDEA 将程序打包为 jar 包
2?? Step2:(可省略此步骤)使用解压缩工具打开该 jar 包(不要解压),在 -1.0-.jar\META-INF 目录下修改 .MF 文件,添加主类( 路径),并保存
Main-Class: WordCount_API.Job_WordCountDriver
3?? Step3:将该 jar 包上传至服务器,开启 HDFS,提前上传一个待统计的英文词频文件
4?? Step4:启动该程序(若运行后找不到类,可添加 main-class 参数以配置启动类,确保文件输出路径为空)
hadoop jar xxx.jar fileIn fileOut
5?? Step5:运行测试,到这算成功了
6?? Step6:查看输出,如下,与 IDEA 测试的输出一致
6.运行流程
1?? Step1: 程序读取文件的输入目录上存放的相应文件
2?? Step2:获取待处理的数据信息,根据集群中的配置形成一个任务分配规划
3?? Step3:客户端提交 job.split、jar.xml 等文件给 yarn, yarn 中的启动
4?? Step4:启动后根据本次 Job 的描述信息,计算存储需要的实例数量,然后向集群申请节点,启动相应数量的进程
5?? Step5: 利用客户指定的来读取数据,形成输入的键值对
6?? Step6: 将输入的键值对传递给客户定义的 map 方法,做逻辑运算
7?? Step7:map 方法运算完后将键值对收集到缓存
8?? Step8: 缓存中的键值对按照 K 分区排序后不断写到磁盘文件
9?? Step9:监控到所有进程完成后,会根据客户指定的参数启动相应数量的进程,并通知进程要处理的数据分区
1??0?? : 进程启动后,根据告知的待处理数据的位置,从若干台运行所在节点上获取到若干个输出结果文件,并在本地进行重新归并排序,然后按照 相同键的键值对为一组,调用客户定义的方法进行逻辑运算
1??1?? : 运算完成后,调用客户指定的将结果数据输出到外部存储
7. 写在最后
梳理下词频统计的流程

程序启动后将传递的文本转换为 根据空格切分出单词,并处理大小写、特殊符号将单词输出为
汇总相同 key 的个数输出该 key 的总数
【词频统计MapReduce 初识+案例】获取配置信息,实例化 Job 对象关联 / 类指定输出数据的 key-value 类型指定输出数据的 key-value 类型指定 Job 输入输出的文件路径提交 Job