Thanks for the quick reply :) On Sat, Jan 30, 2010 at 12:15 AM, Sean Owen <[email protected]> wrote:
> On Sat, Jan 30, 2010 at 2:01 AM, Vinicius Carvalho > <[email protected]> wrote: > > Hello there! I'm trying to get Taste to work on the 10M dataset but, even > > following some tips from Sean on Mahout in Action, I can't get it working > > using SlopeOneRecommender and JDBC. > > You are referring to the GroupLens data set right? > > Yep, that's right > > > Caused by: java.lang.NullPointerException > > at com.mysql.jdbc.ResultSetImpl.getLong(ResultSetImpl.java:2843) > > at com.mysql.jdbc.ResultSetImpl.getLong(ResultSetImpl.java:2830) > > at > > > org.apache.commons.dbcp.DelegatingResultSet.getLong(DelegatingResultSet.java:190) > > at > > > org.apache.mahout.cf.taste.impl.model.jdbc.AbstractJDBCDataModel.getLongColumn(AbstractJDBCDataModel.java:602) > > That's odd, it's an error from the MySQL driver. I am taking a guess > that one of the columns in the table had a null value? everything > should be non-NULL. > > Or else... not sure, sounds like a driver bug? try the latest version > 5.1.11. > I'm trying the 5.1.10 the latest one available at maven repositories, running it right now, since it takes a while, I'll inform of the results > > I tried to replace the MemoryDiff by a JDBCDiff. After almost 1 hour > running > > the code, and 100% CPU usage by my mysql process. I decided to quit, is > it > > supposed to take so long? > > Depends on what you're doing -- what job are you running, computing > recs for all users? > Is your table indexed properly? that makes a huge difference. > At first I'm just creating the slopeonerecommender. did not even get to the actual code, all that time is used on the construction of the object > Why switch to JDBC? memory is a lot faster and seems like you have a > lot of heap. > That makes the driver issue a moot point. > You mean for the DiffStorage right? The datamodel would be good to be at JDBC right? I'm interested in item2item recommendations. I did this before using taste by hand by computing the SimilarityMatrix and storing it on DB. (I used as reference the book Collective Intelligence in action) and it worked fine. Just the Similarity Matrix took a while to be recalculated by it was a batch job running every hour. After that computing recomendations was just a breeze. What I'd like to achieve is the same thing I was doing by hand, but using taste :) > > > > I tried to change the maxEntries to a smaller value but the NullPointer > > always happens. My table is not exactly like the one used as sample on > the > > source code, but I do inform the correct columns and they are of the same > > type. > -- The intuitive mind is a sacred gift and the rational mind is a faithful servant. We have created a society that honors the servant and has forgotten the gift.
