/** * Creates a new IDReader * * @param conf Job configuration */ public IDReader(Configuration conf) { this.conf = conf; emptySet = new FastIDSet(); usersFile = conf.get(UserVectorSplitterMapper.USERS_FILE); itemsFile = conf.get(AggregateAndRecommendReducer.ITEMS_FILE); userItemFile = conf.get(USER_ITEM_FILE); }
void addUserAndItemIdToUserItemFilter(Map<Long, FastIDSet> filter, Long userId, Long itemId) { FastIDSet itemIds; if (filter.containsKey(userId)) { itemIds = filter.get(userId); } else { itemIds = new FastIDSet(); filter.put(userId, itemIds); } itemIds.add(itemId); }
static FastIDSet extractAllUserIdsFromUserItemFilter(Map<Long, FastIDSet> filter) { FastIDSet result = new FastIDSet(); for (Long userId : filter.keySet()) { result.add(userId); } return result; }
void addUserAndItemIdToUserItemFilter(Map<Long, FastIDSet> filter, Long userId, Long itemId) { FastIDSet itemIds; if (filter.containsKey(userId)) { itemIds = filter.get(userId); } else { itemIds = new FastIDSet(); filter.put(userId, itemIds); } itemIds.add(itemId); }
static FastIDSet extractAllUserIdsFromUserItemFilter(Map<Long, FastIDSet> filter) { FastIDSet result = new FastIDSet(); for (Long userId : filter.keySet()) { result.add(userId); } return result; }
private FastIDSet extractAllItemIdsFromUserItemFilter(Map<Long, FastIDSet> filter) { FastIDSet result = new FastIDSet(); for (FastIDSet itemIds : filter.values()) { result.addAll(itemIds); } return result; }
/** * Sets temporary preferences for a given anonymous user. */ public void setTempPrefs(PreferenceArray prefs, long anonymousUserID) { Preconditions.checkArgument(prefs != null && prefs.length() > 0, "prefs is null or empty"); this.tempPrefs.put(anonymousUserID, prefs); FastIDSet userPrefItemIDs = new FastIDSet(); for (int i = 0; i < prefs.length(); i++) { userPrefItemIDs.add(prefs.getItemID(i)); } this.prefItemIDs.put(anonymousUserID, userPrefItemIDs); }
/** * Sets temporary preferences for a given anonymous user. */ public void setTempPrefs(PreferenceArray prefs, long anonymousUserID) { Preconditions.checkArgument(prefs != null && prefs.length() > 0, "prefs is null or empty"); this.tempPrefs.put(anonymousUserID, prefs); FastIDSet userPrefItemIDs = new FastIDSet(); for (int i = 0; i < prefs.length(); i++) { userPrefItemIDs.add(prefs.getItemID(i)); } this.prefItemIDs.put(anonymousUserID, userPrefItemIDs); }
/** * Sets temporary preferences for a given anonymous user. */ public void setTempPrefs(PreferenceArray prefs, long anonymousUserID) { Preconditions.checkArgument(prefs != null && prefs.length() > 0, "prefs is null or empty"); this.tempPrefs.put(anonymousUserID, prefs); FastIDSet userPrefItemIDs = new FastIDSet(); for (int i = 0; i < prefs.length(); i++) { userPrefItemIDs.add(prefs.getItemID(i)); } this.prefItemIDs.put(anonymousUserID, userPrefItemIDs); }
public static FastByIDMap<FastIDSet> toDataMap(FastByIDMap<PreferenceArray> data) { for (Map.Entry<Long,Object> entry : ((FastByIDMap<Object>) (FastByIDMap<?>) data).entrySet()) { PreferenceArray prefArray = (PreferenceArray) entry.getValue(); int size = prefArray.length(); FastIDSet itemIDs = new FastIDSet(size); for (int i = 0; i < size; i++) { itemIDs.add(prefArray.getItemID(i)); } entry.setValue(itemIDs); } return (FastByIDMap<FastIDSet>) (FastByIDMap<?>) data; }
public static FastByIDMap<FastIDSet> toDataMap(FastByIDMap<PreferenceArray> data) { for (Map.Entry<Long,Object> entry : ((FastByIDMap<Object>) (FastByIDMap<?>) data).entrySet()) { PreferenceArray prefArray = (PreferenceArray) entry.getValue(); int size = prefArray.length(); FastIDSet itemIDs = new FastIDSet(size); for (int i = 0; i < size; i++) { itemIDs.add(prefArray.getItemID(i)); } entry.setValue(itemIDs); } return (FastByIDMap<FastIDSet>) (FastByIDMap<?>) data; }
private void doIndex(long fromItemID, long toItemID) { FastIDSet similarItemIDs = similarItemIDsIndex.get(fromItemID); if (similarItemIDs == null) { similarItemIDs = new FastIDSet(); similarItemIDsIndex.put(fromItemID, similarItemIDs); } similarItemIDs.add(toItemID); }
private void doIndex(long fromItemID, long toItemID) { FastIDSet similarItemIDs = similarItemIDsIndex.get(fromItemID); if (similarItemIDs == null) { similarItemIDs = new FastIDSet(); similarItemIDsIndex.put(fromItemID, similarItemIDs); } similarItemIDs.add(toItemID); }
private void doIndex(long fromItemID, long toItemID) { FastIDSet similarItemIDs = similarItemIDsIndex.get(fromItemID); if (similarItemIDs == null) { similarItemIDs = new FastIDSet(); similarItemIDsIndex.put(fromItemID, similarItemIDs); } similarItemIDs.add(toItemID); }
@Override public FastIDSet getItemIDsFromUser(long userID) throws TasteException { PreferenceArray prefs = getPreferencesFromUser(userID); int size = prefs.length(); FastIDSet result = new FastIDSet(size); for (int i = 0; i < size; i++) { result.add(prefs.getItemID(i)); } return result; }
@Override public long[] allSimilarItemIDs(long itemID) throws TasteException { FastIDSet allSimilarItemIDs = new FastIDSet(); LongPrimitiveIterator allItemIDs = dataModel.getItemIDs(); while (allItemIDs.hasNext()) { long possiblySimilarItemID = allItemIDs.nextLong(); if (!Double.isNaN(itemSimilarity(itemID, possiblySimilarItemID))) { allSimilarItemIDs.add(possiblySimilarItemID); } } return allSimilarItemIDs.toArray(); }
@Override protected FastIDSet getAllOtherItems(long[] theNeighborhood, long theUserID) throws TasteException { DataModel dataModel = getDataModel(); FastIDSet possibleItemIDs = new FastIDSet(); for (long userID : theNeighborhood) { possibleItemIDs.addAll(dataModel.getItemIDsFromUser(userID)); } possibleItemIDs.removeAll(dataModel.getItemIDsFromUser(theUserID)); return possibleItemIDs; }
protected FastIDSet getAllOtherItems(long[] theNeighborhood, long theUserID) throws TasteException { DataModel dataModel = getDataModel(); FastIDSet possibleItemIDs = new FastIDSet(); for (long userID : theNeighborhood) { possibleItemIDs.addAll(dataModel.getItemIDsFromUser(userID)); } possibleItemIDs.removeAll(dataModel.getItemIDsFromUser(theUserID)); return possibleItemIDs; }
private static FastIDSet buildTestFastSet() { FastIDSet set = new FastIDSet(); set.add(1); set.add(2); set.add(3); return set; }
@Test public void testSizeEmpty() { FastIDSet set = new FastIDSet(); assertEquals(0, set.size()); assertTrue(set.isEmpty()); set.add(1); assertEquals(1, set.size()); assertFalse(set.isEmpty()); set.remove(1); assertEquals(0, set.size()); assertTrue(set.isEmpty()); }