List of usage examples for org.apache.mahout.common ClassUtils instantiateAs
public static <T> T instantiateAs(Class<? extends T> clazz, Class<T> asSubclassOfClass, Class<?>[] params, Object[] args)
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; }