推荐结果

转载自:http://f.dataguru.cn/thread-268570-1-1.html

public class ItemCFHadoop1 {


    private static final String HDFS = "hdfs://192.168.1.202:9000";
    
    public static void main(String[] args) throws Exception {
        String localFile = "datafile/small2.csv";
        String usersFile = "datafile/user.csv";
        String inPath = HDFS + "/user/hdfs/userCF";
        String inFile = inPath + "/small2.csv";
        String outPath = HDFS + "/user/hdfs/userCF/result1/";
        String outFile = outPath + "/part-r-00000";
        String tmpPath = HDFS + "/tmp/" + System.currentTimeMillis();

        JobConf conf = config();
        HdfsDAO hdfs = new HdfsDAO(HDFS, conf);
        hdfs.rmr(inPath);
        hdfs.mkdirs(inPath);
        hdfs.copyFile(localFile, inPath);
        hdfs.ls(inPath);
        hdfs.cat(inFile);

        StringBuilder sb = new StringBuilder();
        sb.append("--input ").append(inPath);
        sb.append(" --output ").append(outPath);
        sb.append(" --usersFile ").append(usersFile);
        sb.append(" --booleanData true");//PearsonCorrelationSimilarity需要是false
        sb.append(" --similarityClassname org.apache.mahout.math.hadoop.similarity.cooccurrence.measures.EuclideanDistanceSimilarity");
        //有错误sb.append(" --similarityClassname org.apache.mahout.math.hadoop.similarity.cooccurrence.measures.VectorSimilarityMeasure");
        //sb.append(" --similarityClassname org.apache.mahout.math.hadoop.similarity.cooccurrence.measures.CityBlockSimilarity");
        //sb.append(" --similarityClassname org.apache.mahout.math.hadoop.similarity.cooccurrence.measures.CooccurrenceCountSimilarity");
        //sb.append(" --similarityClassname org.apache.mahout.math.hadoop.similarity.cooccurrence.measures.CosineSimilarity");
        //有错误sb.append(" --similarityClassname org.apache.mahout.math.hadoop.similarity.cooccurrence.measures.CountbasedMeasure.class");
        //sb.append(" --similarityClassname org.apache.mahout.math.hadoop.similarity.cooccurrence.measures.LoglikelihoodSimilarity");
        //sb.append(" --similarityClassname org.apache.mahout.math.hadoop.similarity.cooccurrence.measures.PearsonCorrelationSimilarity");
        //sb.append(" --similarityClassname org.apache.mahout.math.hadoop.similarity.cooccurrence.measures.TanimotoCoefficientSimilarity");
        //有错误sb.append(" --similarityClassname org.apache.mahout.math.hadoop.similarity.cooccurrence.measures.VectorSimilarityMeasures");
        sb.append(" --tempDir ").append(tmpPath);
        args = sb.toString().split(" ");

        RecommenderJob job = new RecommenderJob();
        job.setConf(conf);
        job.run(args);

        hdfs.cat(outFile);
    }

    public static JobConf config() {
        JobConf conf = new JobConf(ItemCFHadoop1.class);
        conf.setJobName("ItemCFHadoop");
        conf.addResource("classpath:/hadoop/core-site.xml");
        conf.addResource("classpath:/hadoop/hdfs-site.xml");
        conf.addResource("classpath:/hadoop/mapred-site.xml");
        return conf;
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值