文档章节

评论管家系统

海上明月共潮生
 海上明月共潮生
发布于 2017/07/03 20:02
字数 277
阅读 7
收藏 0

package com.movie.step;

import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map.Entry;

import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileSplit;

import com.movie.arith.SortHashMap;
/**
 * 
 * @author yourkkc
 *  filter  qu diao unuser yong de dianying
 */


public class ScoreFilter {

    //input collect
    public static class TheMapper extends Mapper<Object, Text, Text, Text>{
                private String path;
                private static final Text k = new Text();
                private static final Text v = new Text();
            @Override
            protected void map(Object key, Text value, Mapper<Object, Text, Text, Text>.Context context)
                    throws IOException, InterruptedException {
                
                FileSplit inputSplit = (FileSplit) context.getInputSplit();
                path = inputSplit.getPath().getParent().getName();
                String type  ="";
                if(path.equals("step4_Out")){//plus to  the result of matrix to multiply 
                    type ="W:";
                }else if(path.equals("step42_Out")){//src    
                    type ="S:";
                }
                Text k = new Text(key.toString());
                Text v =  new Text(type+value.toString());
                context.write(k,v);
            }
        
    }
    public static class TheReduce extends Reducer<Text,Text,Text,Text>{

        
        @Override
        protected void reduce(Text key, Iterable<Text> values,
                Reducer<Text, Text, Text, Text>.Context context) throws IOException, InterruptedException {
            
            
            HashMap<String,String> wMap = new HashMap<String,String>();
            HashMap<String,String> sMap = new HashMap<String,String>();
            for(Text value:values){
                String v = value.toString().substring(2);
                if (value.toString().startsWith("W:")) {//W
                    wMap.put(v.split(":")[0], v.split(":")[1]);
                }else if (value.toString().startsWith("S:")){//  S
                    sMap.put(v.split(":")[0], v.split(":")[1]);
                }
                
            }
            //过滤
            HashMap<String,Float> filterMap = new HashMap<String,Float>();
            Iterator<String> iter = wMap.keySet().iterator();
            while(iter.hasNext()){
                String k = iter.next();//item
                if(!sMap.containsKey(k))
                    filterMap.put(k, Float.valueOf(wMap.get(k)));
            }
            //排序
            List<Entry<String,Float>> list = new LinkedList<Entry<String,Float>>();
            list=SortHashMap.sortHashMap(filterMap);
            for(Entry<String,Float> l : list){
                Text k = new Text(key);
                Text v = new Text(l.getKey().toString() + "\t" + l.getValue().toString());
                context.write(k,v);
            }
        }
        
    }
    
}
 

© 著作权归作者所有

共有 人打赏支持
海上明月共潮生
粉丝 0
博文 4
码字总数 1130
作品 0
绥化
文档管家--docmaster

文档管家是基于 python + web.py开发的轻量文本在线发布工具,主要用于发布工具帮助文档、教程等内容。 主要功能: 后台内容管理、支持markdown语法、代码高亮、支持分项目管理文档、支持jqu...

114638571
2014/01/15
2.8K
0
消息称腾讯成立团队研发杀毒

据消息人士透露,腾讯已经在内部成立杀毒软件研发项目团队,对杀毒方面进行研发。另有消息称该杀毒软件已经进入测试期,有望在近期推出。这意味着其与360之间或将引发更大的对抗。 数月前坊间...

鉴客
2010/11/02
1K
25
如何彻底屏蔽禁止安装QQ管家,不经用户同意,是否可以起诉腾讯

Windows系统,每次更新QQ或者微信的客户端的时候,都会偷偷的静默安装QQ管家,如何彻底屏蔽掉安装QQ管家的可能性? 另外,是否能以一个企业的角度,对腾讯发起起诉? 第一,QQ管家未经用户同...

曾建凯
2016/12/17
858
5
腾讯:360安全卫士刻意阻挠QQ电脑管家

腾讯今天发布公告称,360安全卫士存在刻意阻挠QQ电脑管家正常运行的行为,且沟通无果,建议用户不要使用。 腾讯称近日接到大量用户反馈,在运行360安全卫士的电脑上使用QQ电脑管家时,会出现...

红薯
2012/01/06
5.1K
82

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring 容器实现对bean的管理(注解方式解析,源码阅读)

因为最近在研究学习spring boot,所以这里想详细学习回顾了一下spring 容器对bean的一些管理方式和部分源码学习。 首先初始类AnnotationConfigApplicationContext,简单源码查看,支持两个参...

小海bug
10分钟前
0
0
数据结构:二分查找 java

二分查找的前提是有序存储,利用顺序存储和元素排序 /** * 二分查找,查找成功,返回下标记 * @param values * @param begin * @param end * @param key * @param <T> * @ret...

京一
28分钟前
0
0
@SpringBootApplication 注解

@SpringBootApplication注解是一个组合注解,包含以下注解 @Target(ElementType.TYPE) 注解的作用目标 @Retention(RetentionPolicy.RUNTIME) Reteniton的作用是定义被它所注解的注解保留多久,...

java.刘
41分钟前
0
0
sentinel自定义DataSource实战

序 本文主要研究一下如何自定义sentinel的DataSource,这里以jdbc为例。 maven <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-sen......

go4it
57分钟前
1
0
xgboost/gbdt在调参时为什么树的深度很少就能达到很高的精度?

问题: 用xgboost/gbdt在在调参的时候把树的最大深度调成6就有很高的精度了。但是用DecisionTree/RandomForest的时候需要把树的深度调到15或更高。用RandomForest所需要的树的深度和Decisio...

tantexian
58分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部