Example usage for org.apache.mahout.common ClassUtils instantiateAs

List of usage examples for org.apache.mahout.common ClassUtils instantiateAs

Introduction

In this page you can find the example usage for org.apache.mahout.common ClassUtils instantiateAs.

Prototype

public static <T> T instantiateAs(Class<? extends T> clazz, Class<T> asSubclassOfClass, Class<?>[] params,
            Object[] args) 

Source Link

Usage

From source file:com.anjuke.romar.mahout.factory.MahoutServiceCommonRecommendFactory.java

License:Apache License

@Override
public MahoutService createService() {
    RomarConfig config = RomarConfig.getInstance();
    Recommender recommender;//from   ww w .  ja v  a  2  s .c  om
    DataModel dataModel = PersistenceDataModelFactory.createDataModel(config);

    recommender = ClassUtils.instantiateAs(config.getCommonRecommenderClass(), Recommender.class,
            new Class<?>[] { DataModel.class }, new Object[] { dataModel });
    return new RecommenderWrapper(recommender);
}

From source file:com.anjuke.romar.mahout.factory.MahoutServiceItemRecommendFactory.java

License:Apache License

private ItemSimilarity createSimilarity(RomarConfig config, DataModel dataModel) {
    ItemSimilarity similarity = ClassUtils.instantiateAs(config.getItemSimilarityClass(), ItemSimilarity.class,
            new Class<?>[] { DataModel.class }, new Object[] { dataModel });
    return similarity;
}

From source file:com.anjuke.romar.mahout.factory.MahoutServiceUserRecommendFactory.java

License:Apache License

@Override
public MahoutService createService() {
    RomarConfig config = RomarConfig.getInstance();
    Recommender recommender;//from w w w  .ja  v a2s  .c  o  m
    DataModel dataModel = PersistenceDataModelFactory.createDataModel(config);

    UserSimilarity similarity;
    if (config.isUseFileSimilarity()) {
        File file = new File(config.getSimilarityFile());
        if (!file.exists()) {
            throw new IllegalArgumentException("similairy file not exists");
        }

        if (!file.isFile()) {
            throw new IllegalArgumentException("similairy file is a directory");
        }

        IteratorBuiler<UserUserSimilarity> iteratorBuilder;
        if (config.isBinarySimilarityFile()) {
            iteratorBuilder = RomarFileSimilarityIterator.dataFileUserIteratorBuilder();
        } else {
            iteratorBuilder = RomarFileSimilarityIterator.lineFileUserIteratorBuilder();
        }
        similarity = new RomarFileUserSimilarity(file, iteratorBuilder);
    } else {
        similarity = createSimilarity(config, dataModel);
        if (config.isUseSimilariyCache()) {
            similarity = new CachingUserSimilarity(similarity, config.getSimilarityCacheSize());
        }
    }

    UserNeighborhood neighborhood = ClassUtils.instantiateAs(config.getUserNeighborhoodClass(),
            UserNeighborhood.class, new Class<?>[] { int.class, UserSimilarity.class, DataModel.class },
            new Object[] { config.getUserNeighborhoodNearestN(), similarity, dataModel });
    recommender = new GenericUserBasedRecommender(dataModel, neighborhood, similarity);

    return new RecommenderWrapper(recommender);
}

From source file:com.anjuke.romar.mahout.factory.MahoutServiceUserRecommendFactory.java

License:Apache License

private UserSimilarity createSimilarity(RomarConfig config, DataModel dataModel) {
    UserSimilarity similarity = ClassUtils.instantiateAs(config.getUserSimilarityClass(), UserSimilarity.class,
            new Class<?>[] { DataModel.class }, new Object[] { dataModel });
    return similarity;
}

From source file:com.netease.news.text.SequenceFilesFromDirectory.java

License:Apache License

private int runSequential(Configuration conf, Path input, Path output, Map<String, String> options)
        throws IOException, InterruptedException, NoSuchMethodException {
    // Running sequentially
    Charset charset = Charset.forName(getOption(CHARSET_OPTION[0]));
    String keyPrefix = getOption(KEY_PREFIX_OPTION[0]);
    FileSystem fs = FileSystem.get(input.toUri(), conf);
    ChunkedWriter writer = new ChunkedWriter(conf, Integer.parseInt(options.get(CHUNK_SIZE_OPTION[0])), output);

    try {//from  ww w  . j  ava2s  .  co  m
        SequenceFilesFromDirectoryFilter pathFilter;
        String fileFilterClassName = options.get(FILE_FILTER_CLASS_OPTION[0]);
        if (PrefixAdditionFilter.class.getName().equals(fileFilterClassName)) {
            pathFilter = new PrefixAdditionFilter(conf, keyPrefix, options, writer, charset, fs);
        } else {
            pathFilter = ClassUtils.instantiateAs(fileFilterClassName, SequenceFilesFromDirectoryFilter.class,
                    new Class[] { Configuration.class, String.class, Map.class, ChunkedWriter.class,
                            Charset.class, FileSystem.class },
                    new Object[] { conf, keyPrefix, options, writer, charset, fs });
        }
        fs.listStatus(input, pathFilter);
    } finally {
        Closeables.close(writer, false);
    }
    return 0;
}