@Override protected void setup(Context context) throws IOException { Configuration jobConf = context.getConfiguration(); maxPrefsPerUserConsidered = jobConf.getInt(MAX_PREFS_PER_USER_CONSIDERED, DEFAULT_MAX_PREFS_PER_USER_CONSIDERED); IDReader idReader = new IDReader (jobConf); idReader.readIDs(); usersToRecommendFor = idReader.getUserIds(); }
@Override protected void setup(Context context) throws IOException { Configuration jobConf = context.getConfiguration(); maxPrefsPerUserConsidered = jobConf.getInt(MAX_PREFS_PER_USER_CONSIDERED, DEFAULT_MAX_PREFS_PER_USER_CONSIDERED); IDReader idReader = new IDReader (jobConf); idReader.readIDs(); usersToRecommendFor = idReader.getUserIds(); }
@Override protected void setup(Context context) throws IOException { Configuration conf = context.getConfiguration(); recommendationsPerUser = conf.getInt(NUM_RECOMMENDATIONS, DEFAULT_NUM_RECOMMENDATIONS); booleanData = conf.getBoolean(RecommenderJob.BOOLEAN_DATA, false); indexItemIDMap = TasteHadoopUtils.readIDIndexMap(conf.get(ITEMID_INDEX_PATH), conf); idReader = new IDReader(conf); idReader.readIDs(); itemsToRecommendFor = idReader.getItemIds(); }
@Override protected void setup(Context context) throws IOException { Configuration conf = context.getConfiguration(); recommendationsPerUser = conf.getInt(NUM_RECOMMENDATIONS, DEFAULT_NUM_RECOMMENDATIONS); booleanData = conf.getBoolean(RecommenderJob.BOOLEAN_DATA, false); indexItemIDMap = TasteHadoopUtils.readIDIndexMap(conf.get(ITEMID_INDEX_PATH), conf); idReader = new IDReader(conf); idReader.readIDs(); itemsToRecommendFor = idReader.getItemIds(); }
@Test public void testUserItemFilter() throws Exception { Configuration conf = getConfiguration(); IDReader idReader = new IDReader(conf); Map<Long, FastIDSet> userItemFilter = Maps.newHashMap(); long user1 = 1; long user2 = 2; idReader.addUserAndItemIdToUserItemFilter(userItemFilter, user1, 100L); idReader.addUserAndItemIdToUserItemFilter(userItemFilter, user1, 200L); idReader.addUserAndItemIdToUserItemFilter(userItemFilter, user2, 300L); FastIDSet userIds = IDReader.extractAllUserIdsFromUserItemFilter(userItemFilter); assertEquals(2, userIds.size()); assertTrue(userIds.contains(user1)); assertTrue(userIds.contains(user1)); setField(idReader, USER_ITEM_FILTER_FIELD, userItemFilter); FastIDSet itemsForUser1 = idReader.getItemsToRecommendForUser(user1); assertEquals(2, itemsForUser1.size()); assertTrue(itemsForUser1.contains(100L)); assertTrue(itemsForUser1.contains(200L)); FastIDSet itemsForUser2 = idReader.getItemsToRecommendForUser(user2); assertEquals(1, itemsForUser2.size()); assertTrue(itemsForUser2.contains(300L)); FastIDSet itemsForNonExistingUser = idReader.getItemsToRecommendForUser(3L); assertTrue(itemsForNonExistingUser.isEmpty()); }