所在位置:主页 > 热门文章 >

热门文章
联系方式
MapReduce实现推荐系统
发布时间:2018-10-19 编辑:AG88

1.开发环境:

Windows 2008 64bit

Java 1.6.0_30

MyEclipse 6.5

环境部署见:AAAAAAA>2.Hadoop集群环境:

Oracle Linux Enterprise 5.9

Java 1.6.0_18

Hadoop:hadoop 1.2.1三节点

namenode:10.1.32.91

datanode:10.1.32.93

datanode:10.1.32.95

环境部署见:

3.各java类功能介绍:

Recommend.java,主任务启动程序

Step1.java,按用户分组,计算所有物品出现的组合列表,得到用户对物品的评分矩阵

Step2.java,对物品组合列表进行计数,建立物品的同现矩阵

Step3.java,对同现矩阵和评分矩阵转型

Step4.java,合并矩阵,并计算推荐结果列表

HdfsDAO.java,HDFS操作工具类

4.执行代码和运行结果:

Recommend.java 代码:

import java.util.HashMap;
import java.util.Map;
import java.util.regex.Pattern;

import org.apache.hadoop.mapred.JobConf;

public class Recommend {
    public static final String HDFS = "hdfs://10.1.32.91:9000";
    public static final Pattern DELIMITER = Pattern.compile("[ ,]");
    public static void main(String[] args) throws Exception {

        Map<String, String> 东方财富path = new HashMap<String, String>();
        path.put("data", "C:\Users\licz\workspace\Mapreduce1\small2.csv");
        path.put("Step1Input", HDFS + "/user/hdfs/recommend");
        path.put("Step1Output", path.get("Step1Input") + "/step1");
        path.put("Step2Input", path.get("Step1Output"));
        path.put("Step2Output", path.get("Step1Input") + "/step2");
      &nbAAAAAath.put("Step3Input1", path.get("Step1Output"));
        path.put("Step3Output1", path.get("Step1Input") + "/step3_1");
        path.put("Step3Input2", path.get("Step2Output"));
        path.put("Step3Output2", path.get("Step1Input") + "/step3_2");
        path.put("Step4Input1", path.get("Step3Output1"));
        path.put("Step4Input2", path.get("Step3Output2"));
        path.put("Step4Output", path.get("Step1Input") + "/step4");

        Step1.run(path);
        Step2.run(path);
        Step3.run1(path);
        Step3.run2(path);
        Step4.run(path);
        System.exit(0);
    }

    public static JobConf config() {
        JobConf conf = new JobConf(Recommend.class);
        conf.setJobName("Recommand");
        conf.addResource("classpath:/hadoop/core-site.xml");
        conf.addResource("classpath:/hadoop/hdfs-site.xml");
        conf.addResource("classpath:/hadoop/mapred-siAAAAml");
        //conf.set("io.sort.mb", "1024");
        return conf;
    }

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 下一页

http://www.bkjia.com/Linux/766720.htmlwww.bkjia.comtruehttp://www.bkjia.com/Linux/766720.htmlTechArticle1.开发环境: Windows 2008 64bit Java 1.6.0_30 MyEclipse 6.5 环境部署见: 2.Hadoop集群环境: Oracle Linux Enterprise 5.9 Java 1.6.0_18 Hadoop:hadoop 1.2.1三节点 n...

本文源自: AG环亚娱乐

Copyright © 2005-2016 http://www.ichimail.com AG环亚娱乐_AG环亚官网_AG环亚集团_搜狐娱乐版权所有 AG环亚娱乐_AG环亚官网_AG环亚集团_搜狐娱乐