[ 
https://issues.apache.org/jira/browse/MAHOUT-353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12851789#action_12851789
 ] 

Hui Wen Han edited comment on MAHOUT-353 at 3/31/10 9:46 AM:
-------------------------------------------------------------

org.apache.mahout.cf.taste.impl.common.Cache

  private V getAndCacheValue(K key) throws TasteException {
    V value = retriever.get(key);   //we may get null here,if so ,we can not 
put the value to cache (FastMap).
    synchronized (cache) {
      cache.put(key, value);
    }
    return value;
  }

so we need :


in  org.apache.mahout.cf.taste.impl.common.Cache

  private V getAndCacheValue(K key) throws TasteException {
    V value = retriever.get(key);   //we may get null here,if so ,we can not 
put the value to cache (FastMap).
    if (value == null)
   {
       return null;
   }
    synchronized (cache) {
      cache.put(key, value);
    }
    return value;
  }

in RecommenderMapper:
   while (userVectorIterator.hasNext()) {
      Vector.Element element = userVectorIterator.next();
      int index = element.index();
      double value = element.get();
      Vector columnVector;
      try {
        columnVector = cooccurrenceColumnCache.get(new IntWritable(index));
      } catch (TasteException te) {
        if (te.getCause() instanceof IOException) {
          throw (IOException) te.getCause();
        } else {
          throw new IOException(te.getCause());
        }
      }
     if (columnVector !=null)
    {
         columnVector.times(value).addTo(recommendationVector);
    }

    }

      was (Author: huiwenhan):
    org.apache.mahout.cf.taste.impl.common.Cache

  private V getAndCacheValue(K key) throws TasteException {
    V value = retriever.get(key);   //we may get null here,if so ,we can not 
put the value to cache (FastMap).
    synchronized (cache) {
      cache.put(key, value);
    }
    return value;
  }


  
> java.lang.NullPointerException in RecommenderMapper
> ---------------------------------------------------
>
>                 Key: MAHOUT-353
>                 URL: https://issues.apache.org/jira/browse/MAHOUT-353
>             Project: Mahout
>          Issue Type: Bug
>          Components: Collaborative Filtering
>    Affects Versions: 0.4
>            Reporter: Hui Wen Han
>             Fix For: 0.4
>
>
> java.lang.NullPointerException
>       at 
> org.apache.mahout.cf.taste.hadoop.item.RecommenderMapper$CooccurrenceCache.get(RecommenderMapper.java:169)
>       at 
> org.apache.mahout.cf.taste.hadoop.item.RecommenderMapper$CooccurrenceCache.get(RecommenderMapper.java:154)
>       at 
> org.apache.mahout.cf.taste.impl.common.Cache.getAndCacheValue(Cache.java:125)
>       at org.apache.mahout.cf.taste.impl.common.Cache.get(Cache.java:94)
>       at 
> org.apache.mahout.cf.taste.hadoop.item.RecommenderMapper.map(RecommenderMapper.java:111)
>       at 
> org.apache.mahout.cf.taste.hadoop.item.RecommenderMapper.map(RecommenderMapper.java:52)
>       at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:50)
>       at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:358)
>       at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307)
>       at org.apache.hadoop.mapred.Child.main(Child.java:170)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to