Hadoop好友推荐系统-原始数据去重操作(包含MapReduce任务监控)

本文介绍了基于Hadoop实现的好友推荐系统中,如何实现MapReduce任务的实时监控以及去重操作。通过前端JSP页面展示任务状态,并通过定时请求后台数据更新监控信息。去重任务通过MapReduce的远程提交执行,依据EmailHash去重并保留高Reputation数据。
摘要由CSDN通过智能技术生成

项目总目录:基于Hadoop的好友推荐系统项目综述

一、MapReduce任务实时监控实现

1、前端展示

  • jsp页面

当我们启动一个MapReduce任务后,后台会自动打开一个监控页面,其jsp页面如下:

    <table>
             <tr>
                <td><label for="name">所有任务个数:</label></td>
                <td><input class="easyui-validatebox" type="text"
                        id="jobnums" data-options="required:true" value="#" />
                    </td>

                </tr>
                <tr>
                <td><label for="name">当前任务:</label></td>
                <td><input class="easyui-validatebox" type="text"
                        id="currjob" data-options="required:true" value="#" />
                    </td>

                </tr>
        <tr>
                <td><label for="name">JobID:</label></td>
                <td><input class="easyui-validatebox" type="text"
                        id="jobid" data-options="required:true" style="width:300px" value="#" />
                    </td>

                </tr>
                <tr>
                    <td><label for="name">JobName:</label></td>
                    <td><input class="easyui-validatebox" type="text"
                        id="jobname" data-options="required:true" style="width:600px"
                        value="#" />
                    </td>

                </tr>
                <tr>
                    <td><label for="name">Map进度:</label></td>
                    <td><input class="easyui-validatebox" type="text"
                        id="mapprogress" data-options="required:true"
                        value="0.0%" />
                    </td>
                </tr>
                <tr>
                    <td><label for="name">Reduce进度:</label></td>
                    <td><input class="easyui-validatebox" type="text"
                        id="redprogress" data-options="required:true"
                        value="0.0%" />
                    </td>
                </tr>
                <tr>
                    <td><label for="name">任务执行状态:</label></td>
                    <td><input class="easyui-validatebox" type="text"
                        id="state" data-options="required:true"
                        value="#" />
                    </td>
                </tr>
            </table>

    </div>

该jsp页面显示了监控的各项信息,包括任务个数、任务Id、任务状态等等。

  • js逻辑

首先来看如何自动打开监控页面:
前端启动任何一个任务都是通过调用callByAJax这个方法来实现,其定义如下:

function callByAJax(url,data_){
   
    $.ajax({
        url : url,
        data: data_,
        async:true,
        dataType:"json",
        context : document.body,
        success : function(data) {
   
//          $.messager.progress('close');
            closeProgressbar();
            console.info("data.flag:"+data.flag);
            var retMsg;
            if("true"==data.flag){
   
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值