Hadoop数据分析平台
Hadoop API开发步骤Eclipse的Hadoop插件程序解析Map函数Run方法Main函数运行程序程序输出
倒排索引算法思路
带有Reduce的任务Map函数Reduce函数Run方法程序的导出命令行运行程序
Hadoop API开发步骤
Eclipse的Hadoop插件
专门对于Hadoop的插件提供一个目录树用于管理HDFS文件系统 –可以创建和删除目录 –可以直接上传文件而不需输入命令提供良好的编程环境 –自动提示 –能够直接在Eclipse上测试程序而不需要输入命令
程序解析
MapReduce程序包括一个Map函数,一个Reduce函数,以及Main函数Reduce函数是可选的,当不指定Reduce的实现时,系统自动使用缺省的Reduce函数部分程序代码不赘述,如以下Counter Counter即是一个计数器,可以记录这个程序的一些数据用于统计
Map函数
Run方法
Run方法是运行程序的一种实现在Run方法可以设定一些基本数据,从而让系统了解该如何运行整个任务为了更好理解任务,Run方法在屏幕上输出了一些基本信息
Main函数
只需在Main函数调用Run方法,系统就会启动一个MapReduce任务
运行程序
程序输出
倒排索引
任务要求
现有一批电话通信清单,记录了用户A拨打用户B的记录需要做一个倒排索引,记录拨打给用户B的所有用户A 任务输出必须如下所示,主叫以‘|’分割
算法思路
带有Reduce的任务
示例程序1不带Reduce任务,系统自动把Map函数的输出发送到输出文件,Map函数的输出格式必须与程序输出格式一致示例程序2带有Reduce任务,系统首先把Mapper的输出中Key相同的部分都发送到同一个Reducer,然后再把Reduce函数的结果输出,Map函数的输出格式必须和Reduce函数的输入格式一致
Map函数
此Map函数的主要作用是把两个号码分割,然后被叫作为Key,主叫作为Value
Reduce函数
Run方法
程序的导出
对Project点选右键 --> Export
命令行运行程序