mahout SparseVectorsFromSequenceFiles详解(1)

来源:互联网 发布:网络教育什么专业好 编辑:程序博客网 时间:2024/05/16 19:46

mahout预处理数据的第一步是将文档转化为可以被hadoop处理的sequencefile,第二步是从sequencefile转化为Vector,称为Vectorizer过程,这里剖析的SparseVectorsFromSequenceFiles是其中一个实现。

SparseVectorsFromSequenceFiles.java位置在mahout-distribution-0.6/core/src/main/java/org/apache/mahout/vectorizer

初始化过程

1、创建builder:

DefaultOptionBuilder

ArgumentBuilder

GroupBuilder

2、创建Option:

inputDirOpt

outputDirOpt

minSupportOpt

analyzerNameOpt

chunkSizeOpt

weightOpt

minDFOpt

maxDFPercentOpt

maxDFSigmaOpt

minLLROpt

numReduceTasksOpt

powerOpt

logNormalizeOpt

maxNGramSizeOpt

sequentialAccessVectorOpt

namedVectorOpt

overwriteOutput

helpOpt

3、创建Group

4、创建parser,参数是group

      Parser parser = new Parser();
      parser.setGroup(group);
      parser.setHelpOption(helpOpt);

5、获得CommandLine

CommandLine cmdLine = parser.parse(args);

6、通过CommandLine获得各参数值,例如:

      int minDf = 1;
      if (cmdLine.hasOption(minDFOpt)) {
        minDf = Integer.parseInt(cmdLine.getValue(minDFOpt).toString());
      }