{"push_id":748078995,"size":31,"distinct_size":1,"ref":"refs/heads/direct_streaming_offsets_to_zk","head":"b687d0a683a3cbf017eaa3c21b4223c62fee395e","before":"86374034fdd437ce156a1630cfe11747fd7809dd","commits":[{"sha":"5eb89f67e323dcf9fa3d5b30f9b5cb8f10ca1e8c","author":{"email":"c9d35a384bc579d1c6c8c055f2a2b5c04e11b521@databricks.com","name":"Reynold Xin"},"message":"[SPARK-9577][SQL] Surface concrete iterator types in various sort classes.\n\nWe often return abstract iterator types in various sort-related classes (e.g. UnsafeKVExternalSorter). It is actually better to return a more concrete type, so the callsite uses that type and JIT can inline the iterator calls.\n\nAuthor: Reynold Xin <rxin@databricks.com>\n\nCloses #7911 from rxin/surface-concrete-type and squashes the following commits:\n\n0422add [Reynold Xin] [SPARK-9577][SQL] Surface concrete iterator types in various sort classes.","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/5eb89f67e323dcf9fa3d5b30f9b5cb8f10ca1e8c"},{"sha":"0afa6fbf525723e97c6dacfdba3ad1762637ffa9","author":{"email":"291c18f3fb7528c712d9098b0e50a515ea0b91d5@cloudera.com","name":"Sean Owen"},"message":"[SPARK-9521] [DOCS] Addendum. Require Maven 3.3.3+ in the build\n\nFollow on for #7852: Building Spark doc needs to refer to new Maven requirement too\n\nAuthor: Sean Owen <sowen@cloudera.com>\n\nCloses #7905 from srowen/SPARK-9521.2 and squashes the following commits:\n\n73285df [Sean Owen] Follow on for #7852: Building Spark doc needs to refer to new Maven requirement too","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/0afa6fbf525723e97c6dacfdba3ad1762637ffa9"},{"sha":"9e952ecbce670e9b532a1c664a4d03b66e404112","author":{"email":"f264844b57730cf91a9068607b05f0fbe2cff97a@gmail.com","name":"Ankur Dave"},"message":"[SPARK-3190] [GRAPHX] Fix VertexRDD.count() overflow regression\n\nSPARK-3190 was originally fixed by 96df92906978c5f58e0cc8ff5eebe5b35a08be3b, but a5ef58113667ff73562ce6db381cff96a0b354b0 introduced a regression during refactoring. This commit fixes the regression.\n\nAuthor: Ankur Dave <ankurdave@gmail.com>\n\nCloses #7923 from ankurdave/SPARK-3190-reopening and squashes the following commits:\n\na3e1b23 [Ankur Dave] Fix VertexRDD.count() overflow regression","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/9e952ecbce670e9b532a1c664a4d03b66e404112"},{"sha":"76d74090d60f74412bd45487e8db6aff2e8343a2","author":{"email":"291c18f3fb7528c712d9098b0e50a515ea0b91d5@cloudera.com","name":"Sean Owen"},"message":"[SPARK-9534] [BUILD] Enable javac lint for scalac parity; fix a lot of build warnings, 1.5.0 edition\n\nEnable most javac lint warnings; fix a lot of build warnings. In a few cases, touch up surrounding code in the process.\n\nI'll explain several of the changes inline in comments.\n\nAuthor: Sean Owen <sowen@cloudera.com>\n\nCloses #7862 from srowen/SPARK-9534 and squashes the following commits:\n\nea51618 [Sean Owen] Enable most javac lint warnings; fix a lot of build warnings. In a few cases, touch up surrounding code in the process.","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/76d74090d60f74412bd45487e8db6aff2e8343a2"},{"sha":"b211cbc7369af5eb2cb65d93c4c57c4db7143f47","author":{"email":"22f3e725b314afeca4d45e12683c560674029d21@gmail.com","name":"tedyu"},"message":"[SPARK-8064] [BUILD] Follow-up. Undo change from SPARK-9507 that was accidentally reverted\n\nThis PR removes the dependency reduced POM hack brought back by #7191\n\nAuthor: tedyu <yuzhihong@gmail.com>\n\nCloses #7919 from tedyu/master and squashes the following commits:\n\n1bfbd7b [tedyu] [BUILD] Remove dependency reduced POM hack","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/b211cbc7369af5eb2cb65d93c4c57c4db7143f47"},{"sha":"cb7fa0aa93dae5a25a8e7e387dbd6b55a5a23fb0","author":{"email":"dbe0629cf0118f7dffec38856cad0ec7ac880251@intel.com","name":"Carson Wang"},"message":"[SPARK-2016] [WEBUI] RDD partition table pagination for the RDD Page\n\nAdd pagination for the RDD page to avoid unresponsive UI when the number of the RDD partitions is large.\nBefore:\n![rddpagebefore](https://cloud.githubusercontent.com/assets/9278199/8951533/3d9add54-3601-11e5-99d0-5653b473c49b.png)\nAfter:\n![rddpageafter](https://cloud.githubusercontent.com/assets/9278199/8951536/439d66e0-3601-11e5-9cee-1b380fe6620d.png)\n\nAuthor: Carson Wang <carson.wang@intel.com>\n\nCloses #7692 from carsonwang/SPARK-2016 and squashes the following commits:\n\n03c7168 [Carson Wang] Fix style issues\n612c18c [Carson Wang] RDD partition table pagination for the RDD Page","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/cb7fa0aa93dae5a25a8e7e387dbd6b55a5a23fb0"},{"sha":"d702d53732b44e8242448ce5302738bd130717d8","author":{"email":"8283fd24ce58e0bb0d6bf349e9064fef42c4d84e@cloudera.com","name":"Marcelo Vanzin"},"message":"[SPARK-9583] [BUILD] Do not print mvn debug messages to stdout.\n\nThis allows build/mvn to be used by make-distribution.sh.\n\nAuthor: Marcelo Vanzin <vanzin@cloudera.com>\n\nCloses #7915 from vanzin/SPARK-9583 and squashes the following commits:\n\n6469e60 [Marcelo Vanzin] [SPARK-9583] [build] Do not print mvn debug messages to stdout.","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/d702d53732b44e8242448ce5302738bd130717d8"},{"sha":"b1f88a38d53aebe7cabb762cdd2f1cc64726b0b4","author":{"email":"8a087ed90f1ccc6f5e66d77d8aeba021c1ed975c@googlemail.com","name":"Tarek Auel"},"message":"[SPARK-8244] [SQL] string function: find in set\n\nThis PR is based on #7186 (just fix the conflict), thanks to tarekauel .\n\nfind_in_set(string str, string strList): int\n\nReturns the first occurance of str in strList where strList is a comma-delimited string. Returns null if either argument is null. Returns 0 if the first argument contains any commas. For example, find_in_set('ab', 'abc,b,ab,c,def') returns 3.\n\nOnly add this to SQL, not DataFrame.\n\nCloses #7186\n\nAuthor: Tarek Auel <tarek.auel@googlemail.com>\nAuthor: Davies Liu <davies@databricks.com>\n\nCloses #7900 from davies/find_in_set and squashes the following commits:\n\n4334209 [Davies Liu] Merge branch 'master' of github.com:apache/spark into find_in_set\n8f00572 [Davies Liu] Merge branch 'master' of github.com:apache/spark into find_in_set\n243ede4 [Tarek Auel] [SPARK-8244][SQL] hive compatibility\n1aaf64e [Tarek Auel] [SPARK-8244][SQL] unit test fix\ne4093a4 [Tarek Auel] [SPARK-8244][SQL] final modifier for COMMA_UTF8\n0d05df5 [Tarek Auel] Merge branch 'master' into SPARK-8244\n208d710 [Tarek Auel] [SPARK-8244] address comments & bug fix\n71b2e69 [Tarek Auel] [SPARK-8244] find_in_set\n66c7fda [Tarek Auel] Merge branch 'master' into SPARK-8244\n61b8ca2 [Tarek Auel] [SPARK-8224] removed loop and split; use unsafe String comparison\n4f75a65 [Tarek Auel] Merge branch 'master' into SPARK-8244\ne3b20c8 [Tarek Auel] [SPARK-8244] added type check\n1c2bbb7 [Tarek Auel] [SPARK-8244] findInSet","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/b1f88a38d53aebe7cabb762cdd2f1cc64726b0b4"},{"sha":"73dedb589d06f7c7a525cc4f07721a77f480c434","author":{"email":"c437f8b7af73b0a10ecac061712ff9de6d41089e@databricks.com","name":"Davies Liu"},"message":"[SPARK-8246] [SQL] Implement get_json_object\n\nThis is based on #7485 , thanks to NathanHowell\n\nTests were copied from Hive, but do not seem to be super comprehensive. I've generally replicated Hive's unusual behavior rather than following a JSONPath reference, except for one case (as noted in the comments). I don't know if there is a way of fully replicating Hive's behavior without a slower TreeNode implementation, so I've erred on the side of performance instead.\n\nAuthor: Davies Liu <davies@databricks.com>\nAuthor: Yin Huai <yhuai@databricks.com>\nAuthor: Nathan Howell <nhowell@godaddy.com>\n\nCloses #7901 from davies/get_json_object and squashes the following commits:\n\n3ace9b9 [Davies Liu] Merge branch 'get_json_object' of github.com:davies/spark into get_json_object\n98766fc [Davies Liu] Merge branch 'master' of github.com:apache/spark into get_json_object\na7dc6d0 [Davies Liu] Update JsonExpressionsSuite.scala\nc818519 [Yin Huai] new results.\n18ce26b [Davies Liu] fix tests\n6ac29fb [Yin Huai] Golden files.\n25eebef [Davies Liu] use HiveQuerySuite\ne0ac6ec [Yin Huai] Golden answer files.\n940c060 [Davies Liu] tweat code style\n44084c5 [Davies Liu] Merge branch 'master' of github.com:apache/spark into get_json_object\n9192d09 [Nathan Howell] Match Hive’s behavior for unwrapping arrays of one element\n8dab647 [Nathan Howell] [SPARK-8246] [SQL] Implement get_json_object","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/73dedb589d06f7c7a525cc4f07721a77f480c434"},{"sha":"b5034c9c59947f20423faa46bc6606aad56836b0","author":{"email":"348ff379544b45aa3f16e53a543620141423a0f6@gmail.com","name":"Yijie Shen"},"message":"[SPARK-9541] [SQL] DataTimeUtils cleanup\n\nJIRA: https://issues.apache.org/jira/browse/SPARK-9541\n\nAuthor: Yijie Shen <henry.yijieshen@gmail.com>\n\nCloses #7870 from yjshen/datetime_cleanup and squashes the following commits:\n\n9203e33 [Yijie Shen] revert getMonth & getDayOfMonth\n5cad119 [Yijie Shen] rebase code\n7d62a74 [Yijie Shen] remove tmp tuple inside split date\ne98aaac [Yijie Shen] DataTimeUtils cleanup","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/b5034c9c59947f20423faa46bc6606aad56836b0"},{"sha":"6a0f8b994de36b7a7bdfb9958d39dbd011776107","author":{"email":"ad63b47dfac1951bde2b661ba9fbbe123f686bee@cs.berkeley.edu","name":"Shivaram Venkataraman"},"message":"[SPARK-9562] Change reference to amplab/spark-ec2 from mesos/\n\ncc srowen pwendell nchammas\n\nAuthor: Shivaram Venkataraman <shivaram@cs.berkeley.edu>\n\nCloses #7899 from shivaram/spark-ec2-move and squashes the following commits:\n\n7cc22c9 [Shivaram Venkataraman] Change reference to amplab/spark-ec2 from mesos/","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/6a0f8b994de36b7a7bdfb9958d39dbd011776107"},{"sha":"34a0eb2e89d59b0823efc035ddf2dc93f19540c1","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@databricks.com","name":"Michael Armbrust"},"message":"[SPARK-9512][SQL] Revert SPARK-9251, Allow evaluation while sorting\n\nThe analysis rule has a bug and we ended up making the sorter still capable of doing evaluation, so lets revert this for now.\n\nAuthor: Michael Armbrust <michael@databricks.com>\n\nCloses #7906 from marmbrus/revertSortProjection and squashes the following commits:\n\n2da6972 [Michael Armbrust] unrevert unrelated changes\n4f2b00c [Michael Armbrust] Revert \"[SPARK-9251][SQL] do not order by expressions which still need evaluation\"","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/34a0eb2e89d59b0823efc035ddf2dc93f19540c1"},{"sha":"5a23213c148bfe362514f9c71f5273ebda0a848a","author":{"email":"6be69bb5cf6cb8dd624e7f174d5aba3c49eb4343@pigscanfly.ca","name":"Holden Karau"},"message":"[SPARK-8069] [ML] Add multiclass thresholds for ProbabilisticClassifier\n\nThis PR replaces the old \"threshold\" with a generalized \"thresholds\" Param.  We keep getThreshold,setThreshold for backwards compatibility for binary classification.\n\nNote that the primary author of this PR is holdenk\n\nAuthor: Holden Karau <holden@pigscanfly.ca>\nAuthor: Joseph K. Bradley <joseph@databricks.com>\n\nCloses #7909 from jkbradley/holdenk-SPARK-8069-add-cutoff-aka-threshold-to-random-forest and squashes the following commits:\n\n3952977 [Joseph K. Bradley] fixed pyspark doc test\n85febc8 [Joseph K. Bradley] made python unit tests a little more robust\n7eb1d86 [Joseph K. Bradley] small cleanups\n6cc2ed8 [Joseph K. Bradley] Fixed remaining merge issues.\n0255e44 [Joseph K. Bradley] Many cleanups for thresholds, some more tests\n7565a60 [Holden Karau] fix pep8 style checks, add a getThreshold method similar to our LogisticRegression.scala one for API compat\nbe87f26 [Holden Karau] Convert threshold to thresholds in the python code, add specialized support for Array[Double] to shared parems codegen, etc.\n6747dad [Holden Karau] Override raw2prediction for ProbabilisticClassifier, fix some tests\n25df168 [Holden Karau] Fix handling of thresholds in LogisticRegression\nc02d6c0 [Holden Karau] No default for thresholds\n5e43628 [Holden Karau] CR feedback and fixed the renamed test\nf3fbbd1 [Holden Karau] revert the changes to random forest :(\n51f581c [Holden Karau] Add explicit types to public methods, fix long line\nf7032eb [Holden Karau] Fix a java test bug, remove some unecessary changes\nadf15b4 [Holden Karau] rename the classifier suite test to ProbabilisticClassifierSuite now that we only have it in Probabilistic\n398078a [Holden Karau] move the thresholding around a bunch based on the design doc\n4893bdc [Holden Karau] Use numtrees of 3 since previous result was tied (one tree for each) and the switch from different max methods picked a different element (since they were equal I think this is ok)\n638854c [Holden Karau] Add a scala RandomForestClassifierSuite test based on corresponding python test\ne09919c [Holden Karau] Fix return type, I need more coffee....\n8d92cac [Holden Karau] Use ClassifierParams as the head\n3456ed3 [Holden Karau] Add explicit return types even though just test\na0f3b0c [Holden Karau] scala style fixes\n6f14314 [Holden Karau] Since hasthreshold/hasthresholds is in root classifier now\nffc8dab [Holden Karau] Update the sharedParams\n0420290 [Holden Karau] Allow us to override the get methods selectively\n978e77a [Holden Karau] Move HasThreshold into classifier params and start defining the overloaded getThreshold/getThresholds functions\n1433e52 [Holden Karau] Revert \"try and hide threshold but chainges the API so no dice there\"\n1f09a2e [Holden Karau] try and hide threshold but chainges the API so no dice there\nefb9084 [Holden Karau] move setThresholds only to where its used\n6b34809 [Holden Karau] Add a test with thresholding for the RFCS\n74f54c3 [Holden Karau] Fix creation of vote array\n1986fa8 [Holden Karau] Setting the thresholds only makes sense if the underlying class hasn't overridden predict, so lets push it down.\n2f44b18 [Holden Karau] Add a global default of null for thresholds param\nf338cfc [Holden Karau] Wait that wasn't a good idea, Revert \"Some progress towards unifying threshold and thresholds\"\n634b06f [Holden Karau] Some progress towards unifying threshold and thresholds\n85c9e01 [Holden Karau] Test passes again... little fnur\n099c0f3 [Holden Karau] Move thresholds around some more (set on model not trainer)\n0f46836 [Holden Karau] Start adding a classifiersuite\nf70eb5e [Holden Karau] Fix test compile issues\na7d59c8 [Holden Karau] Move thresholding into Classifier trait\n5d999d2 [Holden Karau] Some more progress, start adding a test (maybe try and see if we can find a better thing to use for the base of the test)\n1fed644 [Holden Karau] Use thresholds to scale scores in random forest classifcation\n31d6bf2 [Holden Karau] Start threading the threshold info through\n0ef228c [Holden Karau] Add hasthresholds","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/5a23213c148bfe362514f9c71f5273ebda0a848a"},{"sha":"a0cc01759b0c2cecf340c885d391976eb4e3fad6","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@databricks.com","name":"Michael Armbrust"},"message":"[SPARK-9606] [SQL] Ignore flaky thrift server tests\n\nAuthor: Michael Armbrust <michael@databricks.com>\n\nCloses #7939 from marmbrus/turnOffThriftTests and squashes the following commits:\n\n80d618e [Michael Armbrust] [SPARK-9606][SQL] Ignore flaky thrift server tests","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/a0cc01759b0c2cecf340c885d391976eb4e3fad6"},{"sha":"f4b1ac08a1327e6d0ddc317cdf3997a0f68dec72","author":{"email":"ab56adc4e61f1b489818a700493ea97fb9f9e75e@outlook.com","name":"Wenchen Fan"},"message":"[SPARK-9553][SQL] remove the no-longer-necessary createCode and createStructCode, and replace the usage\n\nAuthor: Wenchen Fan <cloud0fan@outlook.com>\n\nCloses #7890 from cloud-fan/minor and squashes the following commits:\n\nc3b1be3 [Wenchen Fan] fix style\nb0cbe2e [Wenchen Fan] remove the createCode and createStructCode, and replace the usage of them by createStructCode","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/f4b1ac08a1327e6d0ddc317cdf3997a0f68dec72"},{"sha":"ab8ee1a3b93286a62949569615086ef5030e9fae","author":{"email":"e5dd8a3899598b2e85930c5ff06b11c053ef654f@databricks.com","name":"Josh Rosen"},"message":"[SPARK-9452] [SQL] Support records larger than page size in UnsafeExternalSorter\n\nThis patch extends UnsafeExternalSorter to support records larger than the page size. The basic strategy is the same as in #7762: store large records in their own overflow pages.\n\nAuthor: Josh Rosen <joshrosen@databricks.com>\n\nCloses #7891 from JoshRosen/large-records-in-sql-sorter and squashes the following commits:\n\n967580b [Josh Rosen] Merge remote-tracking branch 'origin/master' into large-records-in-sql-sorter\n948c344 [Josh Rosen] Add large records tests for KV sorter.\n3c17288 [Josh Rosen] Combine memory and disk cleanup into general cleanupResources() method\n380f217 [Josh Rosen] Merge remote-tracking branch 'origin/master' into large-records-in-sql-sorter\n27eafa0 [Josh Rosen] Fix page size in PackedRecordPointerSuite\na49baef [Josh Rosen] Address initial round of review comments\n3edb931 [Josh Rosen] Remove accidentally-committed debug statements.\n2b164e2 [Josh Rosen] Support large records in UnsafeExternalSorter.","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/ab8ee1a3b93286a62949569615086ef5030e9fae"},{"sha":"9d668b73687e697cad2ef7fd3c3ba405e9795593","author":{"email":"fd726277649d3b2e3ee5d332dca6c89739b68aa5@gmail.com","name":"CodingCat"},"message":"[SPARK-9602] remove \"Akka/Actor\" words from comments\n\nhttps://issues.apache.org/jira/browse/SPARK-9602\n\nAlthough we have hidden Akka behind RPC interface, I found that the Akka/Actor-related comments are still spreading everywhere. To make it consistent, we shall remove \"actor\"/\"akka\" words from the comments...\n\nAuthor: CodingCat <zhunansjtu@gmail.com>\n\nCloses #7936 from CodingCat/SPARK-9602 and squashes the following commits:\n\ne8296a3 [CodingCat] remove actor words from comments","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/9d668b73687e697cad2ef7fd3c3ba405e9795593"},{"sha":"e375456063617cd7000d796024f41e5927f21edd","author":{"email":"461476587780aa9fa5611ea6dc3912c146a91760@databricks.com","name":"Joseph K. Bradley"},"message":"[SPARK-9447] [ML] [PYTHON] Added HasRawPredictionCol, HasProbabilityCol to RandomForestClassifier\n\nAdded HasRawPredictionCol, HasProbabilityCol to RandomForestClassifier, plus doc tests for those columns.\n\nCC: holdenk yanboliang\n\nAuthor: Joseph K. Bradley <joseph@databricks.com>\n\nCloses #7903 from jkbradley/rf-prob-python and squashes the following commits:\n\nc62a83f [Joseph K. Bradley] made unit test more robust\n14eeba2 [Joseph K. Bradley] added HasRawPredictionCol, HasProbabilityCol to RandomForestClassifier in PySpark","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/e375456063617cd7000d796024f41e5927f21edd"},{"sha":"1833d9c08f021d991334424d0a6d5ec21d1fccb2","author":{"email":"461476587780aa9fa5611ea6dc3912c146a91760@databricks.com","name":"Joseph K. Bradley"},"message":"[SPARK-9582] [ML] LDA cleanups\n\nSmall cleanups to recent LDA additions and docs.\n\nCC: feynmanliang\n\nAuthor: Joseph K. Bradley <joseph@databricks.com>\n\nCloses #7916 from jkbradley/lda-cleanups and squashes the following commits:\n\nf7021d9 [Joseph K. Bradley] broadcasting large matrices for LDA in local model and online learning\n97947aa [Joseph K. Bradley] a few more cleanups\n5b03f88 [Joseph K. Bradley] reverted split of lda log likelihood\nc566915 [Joseph K. Bradley] small edit to make review easier\n63f6c7d [Joseph K. Bradley] clarified log likelihood for lda models","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/1833d9c08f021d991334424d0a6d5ec21d1fccb2"},{"sha":"571d5b5363ff4dbbce1f7019ab8e86cbc3cba4d5","author":{"email":"3c26cc6a278bab57a956b43cbc3c2947e24baa4a@us.ibm.com","name":"Mike Dusenberry"},"message":"[SPARK-6485] [MLLIB] [PYTHON] Add CoordinateMatrix/RowMatrix/IndexedRowMatrix to PySpark.\n\nThis 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.\n\nAuthor: Mike Dusenberry <mwdusenb@us.ibm.com>\n\nCloses #7554 from dusenberrymw/SPARK-6485_Add_CoordinateMatrix_RowMatrix_IndexedMatrix_to_PySpark and squashes the following commits:\n\nbb039cb [Mike Dusenberry] Minor documentation update.\nb887c18 [Mike Dusenberry] Updating the matrix conversion logic again to make it even cleaner.  Now, we allow the 'rows' parameter in the constructors to be either an RDD or the Java matrix object. If 'rows' is an RDD, we create a Java matrix object, wrap it, and then store that.  If 'rows' is a Java matrix object of the correct type, we just wrap and store that directly.  This is only for internal usage, and publicly, we still require 'rows' to be an RDD.  We no longer store the 'rows' RDD, and instead just compute it from the Java object when needed.  The point of this is that when we do matrix conversions, we do the conversion on the Scala/Java side, which returns a Java object, so we should use that directly, but exposing 'java_matrix' parameter in the public API is not ideal. This non-public feature of allowing 'rows' to be a Java matrix object is documented in the '__init__' constructor docstrings, which are not part of the generated public API, and doctests are also included.\n7f0dcb6 [Mike Dusenberry] Updating module docstring.\ncfc1be5 [Mike Dusenberry] Use 'new SQLContext(matrix.rows.sparkContext)' rather than 'SQLContext.getOrCreate', as the later doesn't guarantee that the SparkContext will be the same as for the matrix.rows data.\n687e345 [Mike Dusenberry] Improving conversion performance.  This adds an optional 'java_matrix' parameter to the constructors, and pulls the conversion logic out into a '_create_from_java' function. Now, if the constructors are given a valid Java distributed matrix object as 'java_matrix', they will store those internally, rather than create a new one on the Scala/Java side.\n3e50b6e [Mike Dusenberry] Moving the distributed matrices to pyspark.mllib.linalg.distributed.\n308f197 [Mike Dusenberry] Using properties for better documentation.\n1633f86 [Mike Dusenberry] Minor documentation cleanup.\nf0c13a7 [Mike Dusenberry] CoordinateMatrix should inherit from DistributedMatrix.\nffdd724 [Mike Dusenberry] Updating doctests to make documentation cleaner.\n3fd4016 [Mike Dusenberry] Updating docstrings.\n27cd5f6 [Mike Dusenberry] Simplifying input conversions in the constructors for each distributed matrix.\na409cf5 [Mike Dusenberry] Updating doctests to be less verbose by using lists instead of DenseVectors explicitly.\nd19b0ba [Mike Dusenberry] Updating code and documentation to note that a vector-like object (numpy array, list, etc.) can be used in place of explicit Vector object, and adding conversions when necessary to RowMatrix construction.\n4bd756d [Mike Dusenberry] Adding param documentation to IndexedRow and MatrixEntry.\nc6bded5 [Mike Dusenberry] Move conversion logic from tuples to IndexedRow or MatrixEntry types from within the IndexedRowMatrix and CoordinateMatrix constructors to separate _convert_to_indexed_row and _convert_to_matrix_entry functions.\n329638b [Mike Dusenberry] Moving the Experimental tag to the top of each docstring.\n0be6826 [Mike Dusenberry] Simplifying doctests by removing duplicated rows/entries RDDs within the various tests.\nc0900df [Mike Dusenberry] Adding the colons that were accidentally not inserted.\n4ad6819 [Mike Dusenberry] Documenting the  and  parameters.\n3b854b9 [Mike Dusenberry] Minor updates to documentation.\n10046e8 [Mike Dusenberry] Updating documentation to use class constructors instead of the removed DistributedMatrices factory methods.\n119018d [Mike Dusenberry] Adding static  methods to each of the distributed matrix classes to consolidate conversion logic.\n4d7af86 [Mike Dusenberry] Adding type checks to the constructors.  Although it is slightly verbose, it is better for the user to have a good error message than a cryptic stacktrace.\n93b6a3d [Mike Dusenberry] Pulling the DistributedMatrices Python class out of this pull request.\nf6f3c68 [Mike Dusenberry] Pulling the DistributedMatrices Scala class out of this pull request.\n6a3ecb7 [Mike Dusenberry] Updating pattern matching.\n08f287b [Mike Dusenberry] Slight reformatting of the documentation.\na245dc0 [Mike Dusenberry] Updating Python doctests for compatability between Python 2 & 3. Since Python 3 removed the idea of a separate 'long' type, all values that would have been outputted as a 'long' (ex: '4L') will now be treated as an 'int' and outputed as one (ex: '4').  The doctests now explicitly convert to ints so that both Python 2 and 3 will have the same output.  This is fine since the values are all small, and thus can be easily represented as ints.\n4d3a37e [Mike Dusenberry] Reformatting a few long Python doctest lines.\n7e3ca16 [Mike Dusenberry] Fixing long lines.\nf721ead [Mike Dusenberry] Updating documentation for each of the distributed matrices.\nab0e8b6 [Mike Dusenberry] Updating unit test to be more useful.\ndda2f89 [Mike Dusenberry] Added wrappers for the conversions between the various distributed matrices.  Added logic to be able to access the rows/entries of the distributed matrices, which requires serialization through DataFrames for IndexedRowMatrix and CoordinateMatrix types. Added unit tests.\n0cd7166 [Mike Dusenberry] Implemented the CoordinateMatrix API in PySpark, following the idea of the IndexedRowMatrix API, including using DataFrames for serialization.\n3c369cb [Mike Dusenberry] Updating the architecture a bit to make conversions between the various distributed matrix types easier.  The different distributed matrix classes are now only wrappers around the Java objects, and take the Java object as an argument during construction.  This way, we can call  for example on an , which returns a reference to a Java RowMatrix object, and then construct a PySpark RowMatrix object wrapped around the Java object.  This is analogous to the behavior of PySpark RDDs and DataFrames.  We now delegate creation of the various distributed matrices from scratch in PySpark to the factory methods on .\n4bdd09b [Mike Dusenberry] Implemented the IndexedRowMatrix API in PySpark, following the idea of the RowMatrix API.  Note that for the IndexedRowMatrix, we use DataFrames to serialize the data between Python and Scala/Java, so we accept PySpark RDDs, then convert to a DataFrame, then convert back to RDDs on the Scala/Java side before constructing the IndexedRowMatrix.\n23bf1ec [Mike Dusenberry] Updating documentation to add PySpark RowMatrix. Inserting newline above doctest so that it renders properly in API docs.\nb194623 [Mike Dusenberry] Updating design to have a PySpark RowMatrix simply create and keep a reference to a wrapper over a Java RowMatrix.  Updating DistributedMatrices factory methods to accept numRows and numCols with default values.  Updating PySpark DistributedMatrices factory method to simply create a PySpark RowMatrix. Adding additional doctests for numRows and numCols parameters.\nbc2d220 [Mike Dusenberry] Adding unit tests for RowMatrix methods.\nd7e316f [Mike Dusenberry] Implemented the RowMatrix API in PySpark by doing the following: Added a DistributedMatrices class to contain factory methods for creating the various distributed matrices.  Added a factory method for creating a RowMatrix from an RDD of Vectors.  Added a createRowMatrix function to the PythonMLlibAPI to interface with the factory method.  Added DistributedMatrix, DistributedMatrices, and RowMatrix classes to the pyspark.mllib.linalg api.","distinct":false,"url":"https://api.github.com/repos/zzcclp/spark/commits/571d5b5363ff4dbbce1f7019ab8e86cbc3cba4d5"}]}