zoukankan      html  css  js  c++  java
  • Mahout0.6-VectorDumper bug修复

    VectorDumper类的功能是从SequenceFile中按照键值对的方式读取信息并将其转化为文本形式,具体使用见第五部分1.1.2节第3)条。如果不对源码进行修改使用时存在两个bug,现在只对bug1做修复,bug1修复后就可以满足使用需求了,bug2会在后续工作中修复。

    bug1:

    用$MAHOUT0P6_HOME/bin/mahout vectordump –h查看vectordump参数,发现有两个-n参数,为了避免混淆,将代码修改如下:

    第一步修改:

    改前:

    OptionnamesAsCommentsOpt =obuilder.withLongName("namesAsComments").withRequired(false).withDescription(

                "If using CSV output,optionally add a comment line for each NamedVector (if the vector is one)printing out the name")

                .withShortName("n").create();

    改后:

    Option namesAsCommentsOpt = obuilder.withLongName("namesAsComments").withRequired(false).withDescription(

                "If using CSV output, optionally add a comment linefor each NamedVector (if the vector is one) printing out the name")

                .withShortName("ac").create();

    第二步修改:

    当结果第一步修改,可以使用-c和-ac组合参数读取结果,但是会报错,显示没有参数ac,原因是0.6版中丢失了一段代码,修改前源码和修还后的源码为

    修改前:

    Group group = gbuilder.withName("Options").withOption(seqOpt).withOption(outputOpt)

                              .withOption(dictTypeOpt).withOption(dictOpt).withOption(csvOpt).withOption(vectorAsKeyOpt).withOption(printKeyOpt).withOption(sortVectorsOpt).withOption(filtersOpt).withOption(helpOpt).withOption(numItemsOpt)

                             .withOption(sizeOpt).withOption(numIndexesPerVectorOpt).create();

    修改后:

    Group group = gbuilder.withName("Options").withOption(seqOpt).withOption(outputOpt)

                             .withOption(dictTypeOpt).withOption(dictOpt).withOption(csvOpt).withOption(namesAsCommentsOpt)

                             .withOption(vectorAsKeyOpt).withOption(printKeyOpt).withOption(sortVectorsOpt)

                             .withOption(filtersOpt).withOption(helpOpt).withOption(numItemsOpt)

                             .withOption(sizeOpt).withOption(numIndexesPerVectorOpt).create();

    bug2

    但不适用-c参数时会报错,待修复

  • 相关阅读:
    git merge 和 git rebase 的使用场景
    Xcode 报错:解决 Could not attach to pid : "xx" 不重开工程的杀手锏
    软件设计模式的7条原则
    iOS开发信号量的使用
    利用SAMKeyChain生成唯一设备号
    iOS Fundation和CoreFoundation的对象转换内存管理权问题
    已有的PHP安装gd扩展
    centos7 编译安装 php7.4
    Nacos集群模式部署步骤
    搭建 Apache RocketMQ 单机环境
  • 原文地址:https://www.cnblogs.com/james1207/p/3257957.html
Copyright © 2011-2022 走看看