{"action":"created","issue":{"url":"https://api.github.com/repos/apache/spark/issues/7554","labels_url":"https://api.github.com/repos/apache/spark/issues/7554/labels{/name}","comments_url":"https://api.github.com/repos/apache/spark/issues/7554/comments","events_url":"https://api.github.com/repos/apache/spark/issues/7554/events","html_url":"https://github.com/apache/spark/pull/7554","id":96210425,"number":7554,"title":"[SPARK-6485] [MLlib] [Python] Add CoordinateMatrix/RowMatrix/IndexedRowMatrix to PySpark.","user":{"login":"dusenberrymw","id":5431337,"avatar_url":"https://avatars.githubusercontent.com/u/5431337?v=3","gravatar_id":"","url":"https://api.github.com/users/dusenberrymw","html_url":"https://github.com/dusenberrymw","followers_url":"https://api.github.com/users/dusenberrymw/followers","following_url":"https://api.github.com/users/dusenberrymw/following{/other_user}","gists_url":"https://api.github.com/users/dusenberrymw/gists{/gist_id}","starred_url":"https://api.github.com/users/dusenberrymw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dusenberrymw/subscriptions","organizations_url":"https://api.github.com/users/dusenberrymw/orgs","repos_url":"https://api.github.com/users/dusenberrymw/repos","events_url":"https://api.github.com/users/dusenberrymw/events{/privacy}","received_events_url":"https://api.github.com/users/dusenberrymw/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":33,"created_at":"2015-07-21T02:23:11Z","updated_at":"2015-07-23T01:24:05Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/spark/pulls/7554","html_url":"https://github.com/apache/spark/pull/7554","diff_url":"https://github.com/apache/spark/pull/7554.diff","patch_url":"https://github.com/apache/spark/pull/7554.patch"},"body":"This PR adds the RowMatrix, IndexedRowMatrix, and CoordinateMatrix distributed matrices to PySpark.  Each distributed matrix class acts as a wrapper around the Scala/Java counterpart by maintaining a reference to the Java object.  New distributed matrices can be created using factory methods added to DistributedMatrices, which creates the Java distributed matrix and then wraps it with the corresponding PySpark class.  This design allows for simple conversion between the various distributed matrices, and lets us re-use the Scala code.  Serialization between Python and Java is implemented using DataFrames as needed for IndexedRowMatrix and CoordinateMatrix for simplicity.  Associated documentation and unit-tests have also been added.  To facilitate code review, this PR implements access to the rows/entries as RDDs, the number of rows & columns, and conversions between the various distributed matrices (not including BlockMatrix), and does not implement the other linear algebra functions of the matrices, although this will be very simple to add now."},"comment":{"url":"https://api.github.com/repos/apache/spark/issues/comments/123925249","html_url":"https://github.com/apache/spark/pull/7554#issuecomment-123925249","issue_url":"https://api.github.com/repos/apache/spark/issues/7554","id":123925249,"user":{"login":"SparkQA","id":8108735,"avatar_url":"https://avatars.githubusercontent.com/u/8108735?v=3","gravatar_id":"","url":"https://api.github.com/users/SparkQA","html_url":"https://github.com/SparkQA","followers_url":"https://api.github.com/users/SparkQA/followers","following_url":"https://api.github.com/users/SparkQA/following{/other_user}","gists_url":"https://api.github.com/users/SparkQA/gists{/gist_id}","starred_url":"https://api.github.com/users/SparkQA/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SparkQA/subscriptions","organizations_url":"https://api.github.com/users/SparkQA/orgs","repos_url":"https://api.github.com/users/SparkQA/repos","events_url":"https://api.github.com/users/SparkQA/events{/privacy}","received_events_url":"https://api.github.com/users/SparkQA/received_events","type":"User","site_admin":false},"created_at":"2015-07-23T01:24:05Z","updated_at":"2015-07-23T01:24:05Z","body":"  [Test build #38135 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/38135/console) for   PR 7554 at commit [`bb667c4`](https://github.com/apache/spark/commit/bb667c4f5c81cb9349f2706fbd120ad267ee440e).\n * This patch **passes all tests**.\n * This patch merges cleanly.\n * This patch adds the following public classes _(experimental)_:\n  * `class DistributedMatrix(object):`\n  * `class DistributedMatrices(object):`\n  * `class RowMatrix(DistributedMatrix):`\n  * `class IndexedRow(object):`\n  * `class IndexedRowMatrix(DistributedMatrix):`\n  * `class MatrixEntry(object):`\n  * `class CoordinateMatrix(object):`\n"}}