I don't think Vector and Matrix were ever declares Serializable. Please look at VectorWritable and MatrixWritable classes in mrlegacy module. Both the Spark bindings and H2O bindings use these *Writable classes for shipping matrix and vector over the wire. You can even look at https://github.com/avati/mahout/blob/MAHOUT-1500/h2o/src/main/java/org/apache/mahout/h2obindings/drm/H2OBCast.java as a reference for how to do it.
Thanks On Fri, Jul 25, 2014 at 2:04 PM, Ivan Brusic <[email protected]> wrote: > I am in the midst of upgrading our Mahout library in order to take > advantage of all the excellent recent additions. > > As far as I can tell, the library was based off a snapshot of 0.5. The code > does not use any of the Mahout algorithms, just a few of the data > structures such as DenseVector. The existing code builds a Java object > which is then serialized and distributed. After upgrading to 0.9, I noticed > I was no longer able to deserialize objects since DenseVector is > not Serializable. After inspect the old jar, it seems like AbstractVector > was declared Serializable. > > So either someone at my company added serialization to the Mahout classes > or they were Serializable at some point. I am assuming the former. Is this > the case? I looked at the commits and at no point was anything > Serializable. > > Since the classes are not Serializable and no longer inherit from Writable, > is there an existing strategy to output Mahout structures? Would hate to > write wrapper classes or once again modify the source. > > Cheers, > > Ivan >
