[
https://issues.apache.org/jira/browse/MAHOUT-1529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14002743#comment-14002743
]
Anand Avati edited comment on MAHOUT-1529 at 5/20/14 7:06 AM:
--------------------------------------------------------------
[~dlyubimov], I had a quick look at the commits, and it looks a lot cleaner
separation now. Some comments:
- Should DrmLike really be a generic class like DrmLike[T] where T is
unbounded? For e.g, it does not make sense to have DrmLike[String]. The only
meaningful ones probably are DrmLike[Int] and DrmLike[Double]. Is there someway
we can restrict DrmLike to just Int and Double? Or fixate on just Double? While
RDD supports arbitrary T, H2O supports only numeric types which is sufficient
for Mahout's needs.
UPDATE: I see that historically DRM's row index need not necessarily be
numerical. In practice could this be anything other than a number or string?
- I am toying around with the new separation, to build a pure/from scratch
local/in-memory "backend" which communicates through a ByteArrayStream Java
serialization. I am hoping this will not only serve as a reference for future
backend implementors, but also help to keep test cases of the algorithms inside
math-scala. Thoughts?
- 'type DrmTuple[k] = (K, Vector)' is probably better placed in
spark/../package.scala I think, as it is really an artifact of how the RDD is
defined. However, BlockifiedDrmTuple[K] probably still belongs to math-scala.
was (Author: avati):
[~dlyubimov], I had a quick look at the commits, and it looks a lot cleaner
separation now. Some comments:
- Should DrmLike really be a generic class like DrmLike[T] where T is
unbounded? For e.g, it does not make sense to have DrmLike[String]. The only
meaningful ones probably are DrmLike[Int] and DrmLike[Double]. Is there someway
we can restrict DrmLike to just Int and Double? Or fixate on just Double? While
RDD supports arbitrary T, H2O supports only numeric types which is sufficient
for Mahout's needs.
UPDATE: I see that historically DRM's row index need not necessarily be
numerical. In practice could this be anything other than a number or string?
- I am toying around with the new separation, to build a pure/from scratch
local/in-memory "backend" which communicates through a ByteArrayStream Java
serialization. I am hoping this will not only serve as a reference for future
backend implementors, but also help to keep test cases of the algorithms inside
math-scala. Thoughts?
> Finalize abstraction of distributed logical plans from backend operations
> -------------------------------------------------------------------------
>
> Key: MAHOUT-1529
> URL: https://issues.apache.org/jira/browse/MAHOUT-1529
> Project: Mahout
> Issue Type: Improvement
> Reporter: Dmitriy Lyubimov
> Fix For: 1.0
>
>
> We have a few situations when algorithm-facing API has Spark dependencies
> creeping in.
> In particular, we know of the following cases:
> -(1) checkpoint() accepts Spark constant StorageLevel directly;-
> (2) certain things in CheckpointedDRM;
> (3) drmParallelize etc. routines in the "drm" and "sparkbindings" package.
> (5) drmBroadcast returns a Spark-specific Broadcast object
> *Current tracker:*
> https://github.com/dlyubimov/mahout-commits/tree/MAHOUT-1529.
> *Pull requests are welcome*.
--
This message was sent by Atlassian JIRA
(v6.2#6252)