Skip to content
Snippets Groups Projects
  1. Mar 26, 2014
    • NirmalReddy's avatar
      Spark 1095 : Adding explicit return types to all public methods · 3e63d98f
      NirmalReddy authored
      Excluded those that are self-evident and the cases that are discussed in the mailing list.
      
      Author: NirmalReddy <nirmal_reddy2000@yahoo.com>
      Author: NirmalReddy <nirmal.reddy@imaginea.com>
      
      Closes #168 from NirmalReddy/Spark-1095 and squashes the following commits:
      
      ac54b29 [NirmalReddy] import misplaced
      8c5ff3e [NirmalReddy] Changed syntax of unit returning methods
      02d0778 [NirmalReddy] fixed explicit types in all the other packages
      1c17773 [NirmalReddy] fixed explicit types in core package
      3e63d98f
    • Patrick Wendell's avatar
      SPARK-1324: SparkUI Should Not Bind to SPARK_PUBLIC_DNS · be6d96c1
      Patrick Wendell authored
      /cc @aarondav and @andrewor14
      
      Author: Patrick Wendell <pwendell@gmail.com>
      
      Closes #231 from pwendell/ui-binding and squashes the following commits:
      
      e8025f8 [Patrick Wendell] SPARK-1324: SparkUI Should Not Bind to SPARK_PUBLIC_DNS
      be6d96c1
    • Michael Armbrust's avatar
      [SQL] Add a custom serializer for maps since they do not have a no-arg constructor. · e15e5741
      Michael Armbrust authored
      Author: Michael Armbrust <michael@databricks.com>
      
      Closes #243 from marmbrus/mapSer and squashes the following commits:
      
      54045f7 [Michael Armbrust] Add a custom serializer for maps since they do not have a no-arg constructor.
      e15e5741
    • Michael Armbrust's avatar
      [SQL] Un-ignore a test that is now passing. · 32cbdfd2
      Michael Armbrust authored
      Add golden answer for aforementioned test.
      
      Also, fix golden test generation from sbt/sbt by setting the classpath correctly.
      
      Author: Michael Armbrust <michael@databricks.com>
      
      Closes #244 from marmbrus/partTest and squashes the following commits:
      
      37a33c9 [Michael Armbrust] Un-ignore a test that is now passing, add golden answer for aforementioned test.  Fix golden test generation from sbt/sbt.
      32cbdfd2
    • Cheng Lian's avatar
      Unified package definition format in Spark SQL · 345825d9
      Cheng Lian authored
      According to discussions in comments of PR #208, this PR unifies package definition format in Spark SQL.
      
      Some broken links in ScalaDoc and typos detected along the way are also fixed.
      
      Author: Cheng Lian <lian.cs.zju@gmail.com>
      
      Closes #225 from liancheng/packageDefinition and squashes the following commits:
      
      75c47b3 [Cheng Lian] Fixed file line length
      4f87968 [Cheng Lian] Unified package definition format in Spark SQL
      345825d9
    • Prashant Sharma's avatar
      SPARK-1322, top in pyspark should sort result in descending order. · a0853a39
      Prashant Sharma authored
      Author: Prashant Sharma <prashant.s@imaginea.com>
      
      Closes #235 from ScrapCodes/SPARK-1322/top-rev-sort and squashes the following commits:
      
      f316266 [Prashant Sharma] Minor change in comment.
      58e58c6 [Prashant Sharma] SPARK-1322, top in pyspark should sort result in descending order.
      a0853a39
    • Reynold Xin's avatar
      SPARK-1321 Use Guava's top k implementation rather than our... · b859853b
      Reynold Xin authored
      SPARK-1321 Use Guava's top k implementation rather than our BoundedPriorityQueue based implementation
      
      Also updated the documentation for top and takeOrdered.
      
      On my simple test of sorting 100 million (Int, Int) tuples using Spark, Guava's top k implementation (in Ordering) is much faster than the BoundedPriorityQueue implementation for roughly sorted input (10 - 20X faster), and still faster for purely random input (2 - 5X).
      
      Author: Reynold Xin <rxin@apache.org>
      
      Closes #229 from rxin/takeOrdered and squashes the following commits:
      
      0d11844 [Reynold Xin] Use Guava's top k implementation rather than our BoundedPriorityQueue based implementation. Also updated the documentation for top and takeOrdered.
      b859853b
  2. Mar 25, 2014
    • Michael Armbrust's avatar
      Initial experimentation with Travis CI configuration · 4f7d547b
      Michael Armbrust authored
      This is not intended to replace Jenkins immediately, and Jenkins will remain the CI of reference for merging pull requests in the near term.  Long term, it is possible that Travis will give us better integration with github, so we are investigating its use.
      
      Author: Michael Armbrust <michael@databricks.com>
      
      Closes #230 from marmbrus/travis and squashes the following commits:
      
      93f9a32 [Michael Armbrust] Add Apache license to .travis.yml
      d7c0e78 [Michael Armbrust] Initial experimentation with Travis CI configuration
      4f7d547b
    • witgo's avatar
      Avoid Option while generating call site · 8237df80
      witgo authored
      This is an update on https://github.com/apache/spark/pull/180, which changes the solution from blacklisting "Option.scala" to avoiding the Option code path while generating the call path.
      
      Also includes a unit test to prevent this issue in the future, and some minor refactoring.
      
      Thanks @witgo for reporting this issue and working on the initial solution!
      
      Author: witgo <witgo@qq.com>
      Author: Aaron Davidson <aaron@databricks.com>
      
      Closes #222 from aarondav/180 and squashes the following commits:
      
      f74aad1 [Aaron Davidson] Avoid Option while generating call site & add unit tests
      d2b4980 [witgo] Modify the position of the filter
      1bc22d7 [witgo] Fix Stage.name return "apply at Option.scala:120"
      8237df80
    • Shivaram Venkataraman's avatar
      SPARK-1319: Fix scheduler to account for tasks using > 1 CPUs. · f8111eae
      Shivaram Venkataraman authored
      Move CPUS_PER_TASK to TaskSchedulerImpl as the value is a constant and use it in both Mesos and CoarseGrained scheduler backends.
      
      Thanks @kayousterhout for the design discussion
      
      Author: Shivaram Venkataraman <shivaram@eecs.berkeley.edu>
      
      Closes #219 from shivaram/multi-cpus and squashes the following commits:
      
      5c7d685 [Shivaram Venkataraman] Don't pass availableCpus to TaskSetManager
      260e4d5 [Shivaram Venkataraman] Add a check for non-zero CPUs in TaskSetManager
      73fcf6f [Shivaram Venkataraman] Add documentation for spark.task.cpus
      647bc45 [Shivaram Venkataraman] Fix scheduler to account for tasks using > 1 CPUs. Move CPUS_PER_TASK to TaskSchedulerImpl as the value is a constant and use it in both Mesos and CoarseGrained scheduler backends.
      f8111eae
    • Sean Owen's avatar
      SPARK-1316. Remove use of Commons IO · 71d4ed27
      Sean Owen authored
      (This follows from a side point on SPARK-1133, in discussion of the PR: https://github.com/apache/spark/pull/164 )
      
      Commons IO is barely used in the project, and can easily be replaced with equivalent calls to Guava or the existing Spark `Utils.scala` class.
      
      Removing a dependency feels good, and this one in particular can get a little problematic since Hadoop uses it too.
      
      Author: Sean Owen <sowen@cloudera.com>
      
      Closes #226 from srowen/SPARK-1316 and squashes the following commits:
      
      21efef3 [Sean Owen] Remove use of Commons IO
      71d4ed27
    • Michael Armbrust's avatar
      Add more hive compatability tests to whitelist · 134ace7f
      Michael Armbrust authored
      Author: Michael Armbrust <michael@databricks.com>
      
      Closes #220 from marmbrus/moreTests and squashes the following commits:
      
      223ec35 [Michael Armbrust] Blacklist machine specific test
      9c966cc [Michael Armbrust] add more hive compatability tests to whitelist
      134ace7f
    • Aaron Davidson's avatar
      SPARK-1286: Make usage of spark-env.sh idempotent · 007a7334
      Aaron Davidson authored
      Various spark scripts load spark-env.sh. This can cause growth of any variables that may be appended to (SPARK_CLASSPATH, SPARK_REPL_OPTS) and it makes the precedence order for options specified in spark-env.sh less clear.
      
      One use-case for the latter is that we want to set options from the command-line of spark-shell, but these options will be overridden by subsequent loading of spark-env.sh. If we were to load the spark-env.sh first and then set our command-line options, we could guarantee correct precedence order.
      
      Note that we use SPARK_CONF_DIR if available to support the sbin/ scripts, which always set this variable from sbin/spark-config.sh. Otherwise, we default to the ../conf/ as usual.
      
      Author: Aaron Davidson <aaron@databricks.com>
      
      Closes #184 from aarondav/idem and squashes the following commits:
      
      e291f91 [Aaron Davidson] Use "private" variables in load-spark-env.sh
      8da8360 [Aaron Davidson] Add .sh extension to load-spark-env.sh
      93a2471 [Aaron Davidson] SPARK-1286: Make usage of spark-env.sh idempotent
      007a7334
    • Michael Armbrust's avatar
      Unify the logic for column pruning, projection, and filtering of table scans. · b637f2d9
      Michael Armbrust authored
      This removes duplicated logic, dead code and casting when planning parquet table scans and hive table scans.
      
      Other changes:
       - Fix tests now that we are doing a better job of column pruning (i.e., since pruning predicates are applied before we even start scanning tuples, columns required by these predicates do not need to be included in the output of the scan unless they are also included in the final output of this logical plan fragment).
       - Add rule to simplify trivial filters.  This was required to avoid `WHERE false` from getting pushed into table scans, since `HiveTableScan` (reasonably) refuses to apply partition pruning predicates to non-partitioned tables.
      
      Author: Michael Armbrust <michael@databricks.com>
      
      Closes #213 from marmbrus/strategyCleanup and squashes the following commits:
      
      48ce403 [Michael Armbrust] Move one more bit of parquet stuff into the core SQLContext.
      834ce08 [Michael Armbrust] Address comments.
      0f2c6f5 [Michael Armbrust] Unify the logic for column pruning, projection, and filtering of table scans for both Hive and Parquet relations.  Fix tests now that we are doing a better job of column pruning.
      b637f2d9
  3. Mar 24, 2014
    • CodingCat's avatar
      SPARK-1128: set hadoop task properties when constructing HadoopRDD · 5140598d
      CodingCat authored
      https://spark-project.atlassian.net/browse/SPARK-1128
      
      The task properties are not set when constructing HadoopRDD in current implementation, this may limit the implementation based on
      
      ```
      mapred.tip.id
      mapred.task.id
      mapred.task.is.map
      mapred.task.partition
      mapred.job.id
      ```
      
      This patch also contains a small fix  in createJobID (SparkHadoopWriter.scala), where the current implementation actually is not using time parameter
      
      Author: CodingCat <zhunansjtu@gmail.com>
      Author: Nan Zhu <CodingCat@users.noreply.github.com>
      
      Closes #101 from CodingCat/SPARK-1128 and squashes the following commits:
      
      ed0980f [CodingCat] make SparkHiveHadoopWriter belongs to spark package
      5b1ad7d [CodingCat] move SparkHiveHadoopWriter to org.apache.spark package
      258f92c [CodingCat] code cleanup
      af88939 [CodingCat] update the comments and permission of SparkHadoopWriter
      9bd1fe3 [CodingCat] move configuration for jobConf to HadoopRDD
      b7bdfa5 [Nan Zhu] style fix
      a3153a8 [Nan Zhu] style fix
      c3258d2 [CodingCat] set hadoop task properties while using InputFormat
      5140598d
    • Patrick Wendell's avatar
      SPARK-1094 Support MiMa for reporting binary compatibility accross versions. · dc126f21
      Patrick Wendell authored
      This adds some changes on top of the initial work by @scrapcodes in #20:
      
      The goal here is to do automated checking of Spark commits to determine whether they break binary compatibility.
      
      1. Special case for inner classes of package-private objects.
      2. Made tools classes accessible when running `spark-class`.
      3. Made some declared types in MLLib more general.
      4. Various other improvements to exclude-generation script.
      5. In-code documentation.
      
      Author: Patrick Wendell <pwendell@gmail.com>
      Author: Prashant Sharma <prashant.s@imaginea.com>
      Author: Prashant Sharma <scrapcodes@gmail.com>
      
      Closes #207 from pwendell/mima and squashes the following commits:
      
      22ae267 [Patrick Wendell] New binary changes after upmerge
      6c2030d [Patrick Wendell] Merge remote-tracking branch 'apache/master' into mima
      3666cf1 [Patrick Wendell] Minor style change
      0e0f570 [Patrick Wendell] Small fix and removing directory listings
      647c547 [Patrick Wendell] Reveiw feedback.
      c39f3b5 [Patrick Wendell] Some enhancements to binary checking.
      4c771e0 [Prashant Sharma] Added a tool to generate mima excludes and also adapted build to pick automatically.
      b551519 [Prashant Sharma] adding a new exclude after rebasing with master
      651844c [Prashant Sharma] Support MiMa for reporting binary compatibility accross versions.
      dc126f21
    • Michael Armbrust's avatar
      SPARK-1294 Fix resolution of uppercase field names using a HiveContext. · 8043b7bc
      Michael Armbrust authored
      Fixing this bug required the following:
       - Creation of a new logical node that converts a schema to lowercase.
       - Generalization of the subquery eliding rule to also elide this new node
       - Fixing of several places where too tight assumptions were made on the types of `InsertIntoTable` children.
       - I also removed an API that was left in by accident that exposed catalyst data structures, and fix the logic that pushes down filters into hive tables scans to correctly compare attribute references.
      
      Author: Michael Armbrust <michael@databricks.com>
      
      Closes #202 from marmbrus/upperCaseFieldNames and squashes the following commits:
      
      15e5265 [Michael Armbrust] Support for resolving mixed case fields from a reflected schema using HiveQL.
      5aa5035 [Michael Armbrust] Remove API that exposes internal catalyst data structures.
      9d99cb6 [Michael Armbrust] Attributes should be compared using exprId, not TreeNode.id.
      8043b7bc
    • Patrick Wendell's avatar
      HOT FIX: Exclude test files from RAT · 56db8a2f
      Patrick Wendell authored
      56db8a2f
    • Prashant Sharma's avatar
      SPARK-1144 Added license and RAT to check licenses. · 21109fba
      Prashant Sharma authored
      Author: Prashant Sharma <prashant.s@imaginea.com>
      
      Closes #125 from ScrapCodes/rat-integration and squashes the following commits:
      
      64f7c7d [Prashant Sharma] added license headers.
      fcf28b1 [Prashant Sharma] Review feedback.
      c0648db [Prashant Sharma] SPARK-1144 Added license and RAT to check licenses.
      21109fba
  4. Mar 23, 2014
    • Xiangrui Meng's avatar
      [SPARK-1212] Adding sparse data support and update KMeans · 80c29689
      Xiangrui Meng authored
      Continue our discussions from https://github.com/apache/incubator-spark/pull/575
      
      This PR is WIP because it depends on a SNAPSHOT version of breeze.
      
      Per previous discussions and benchmarks, I switched to breeze for linear algebra operations. @dlwh and I made some improvements to breeze to keep its performance comparable to the bare-bone implementation, including norm computation and squared distance. This is why this PR needs to depend on a SNAPSHOT version of breeze.
      
      @fommil , please find the notice of using netlib-core in `NOTICE`. This is following Apache's instructions on appropriate labeling.
      
      I'm going to update this PR to include:
      
      1. Fast distance computation: using `\|a\|_2^2 + \|b\|_2^2 - 2 a^T b` when it doesn't introduce too much numerical error. The squared norms are pre-computed. Otherwise, computing the distance between the center (dense) and a point (possibly sparse) always takes O(n) time.
      
      2. Some numbers about the performance.
      
      3. A released version of breeze. @dlwh, a minor release of breeze will help this PR get merged early. Do you mind sharing breeze's release plan? Thanks!
      
      Author: Xiangrui Meng <meng@databricks.com>
      
      Closes #117 from mengxr/sparse-kmeans and squashes the following commits:
      
      67b368d [Xiangrui Meng] fix SparseVector.toArray
      5eda0de [Xiangrui Meng] update NOTICE
      67abe31 [Xiangrui Meng] move ArrayRDDs to mllib.rdd
      1da1033 [Xiangrui Meng] remove dependency on commons-math3 and compute EPSILON directly
      9bb1b31 [Xiangrui Meng] optimize SparseVector.toArray
      226d2cd [Xiangrui Meng] update Java friendly methods in Vectors
      238ba34 [Xiangrui Meng] add VectorRDDs with a converter from RDD[Array[Double]]
      b28ba2f [Xiangrui Meng] add toArray to Vector
      e69b10c [Xiangrui Meng] remove examples/JavaKMeans.java, which is replaced by mllib/examples/JavaKMeans.java
      72bde33 [Xiangrui Meng] clean up code for distance computation
      712cb88 [Xiangrui Meng] make Vectors.sparse Java friendly
      27858e4 [Xiangrui Meng] update breeze version to 0.7
      07c3cf2 [Xiangrui Meng] change Mahout to breeze in doc use a simple lower bound to avoid unnecessary distance computation
      6f5cdde [Xiangrui Meng] fix a bug in filtering finished runs
      42512f2 [Xiangrui Meng] Merge branch 'master' into sparse-kmeans
      d6e6c07 [Xiangrui Meng] add predict(RDD[Vector]) to KMeansModel
      42b4e50 [Xiangrui Meng] line feed at the end
      a4ace73 [Xiangrui Meng] Merge branch 'fast-dist' into sparse-kmeans
      3ed1a24 [Xiangrui Meng] add doc to BreezeVectorWithSquaredNorm
      0107e19 [Xiangrui Meng] update NOTICE
      87bc755 [Xiangrui Meng] tuned the KMeans code: changed some for loops to while, use view to avoid copying arrays
      0ff8046 [Xiangrui Meng] update KMeans to use fastSquaredDistance
      f355411 [Xiangrui Meng] add BreezeVectorWithSquaredNorm case class
      ab74f67 [Xiangrui Meng] add fastSquaredDistance for KMeans
      4e7d5ca [Xiangrui Meng] minor style update
      07ffaf2 [Xiangrui Meng] add dense/sparse vector data models and conversions to/from breeze vectors use breeze to implement KMeans in order to support both dense and sparse data
      80c29689
    • Cheng Lian's avatar
      Fixed coding style issues in Spark SQL · 8265dc77
      Cheng Lian authored
      This PR addresses various coding style issues in Spark SQL, including but not limited to those mentioned by @mateiz in PR #146.
      
      As this PR affects lots of source files and may cause potential conflicts, it would be better to merge this as soon as possible *after* PR #205 (In-memory columnar representation for Spark SQL) is merged.
      
      Author: Cheng Lian <lian.cs.zju@gmail.com>
      
      Closes #208 from liancheng/fixCodingStyle and squashes the following commits:
      
      fc2b528 [Cheng Lian] Merge branch 'master' into fixCodingStyle
      b531273 [Cheng Lian] Fixed coding style issues in sql/hive
      0b56f77 [Cheng Lian] Fixed coding style issues in sql/core
      fae7b02 [Cheng Lian] Addressed styling issues mentioned by @marmbrus
      9265366 [Cheng Lian] Fixed coding style issues in sql/core
      3dcbbbd [Cheng Lian] Fixed relative package imports for package catalyst
      8265dc77
    • Cheng Lian's avatar
      [SPARK-1292] In-memory columnar representation for Spark SQL · 57a4379c
      Cheng Lian authored
      This PR is rebased from the Catalyst repository, and contains the first version of in-memory columnar representation for Spark SQL. Compression support is not included yet and will be added later in a separate PR.
      
      Author: Cheng Lian <lian@databricks.com>
      Author: Cheng Lian <lian.cs.zju@gmail.com>
      
      Closes #205 from liancheng/memColumnarSupport and squashes the following commits:
      
      99dba41 [Cheng Lian] Restricted new objects/classes to `private[sql]'
      0892ad8 [Cheng Lian] Addressed ScalaStyle issues
      af1ad5e [Cheng Lian] Fixed some minor issues introduced during rebasing
      0dbf2fb [Cheng Lian] Make necessary renaming due to rebase
      a162d4d [Cheng Lian] Removed the unnecessary InMemoryColumnarRelation class
      9bcae4b [Cheng Lian] Added Apache license
      220ee1e [Cheng Lian] Added table scan operator for in-memory columnar support.
      c701c7a [Cheng Lian] Using SparkSqlSerializer for generic object SerDe causes error, made a workaround
      ed8608e [Cheng Lian] Added implicit conversion from DataType to ColumnType
      b8a645a [Cheng Lian] Replaced KryoSerializer with an updated SparkSqlSerializer
      b6c0a49 [Cheng Lian] Minor test suite refactoring
      214be73 [Cheng Lian] Refactored BINARY and GENERIC to reduce duplicate code
      da2f4d5 [Cheng Lian] Added Apache license
      dbf7a38 [Cheng Lian] Added ColumnAccessor and test suite, refactored ColumnBuilder
      c01a177 [Cheng Lian] Added column builder classes and test suite
      f18ddc6 [Cheng Lian] Added ColumnTypes and test suite
      2d09066 [Cheng Lian] Added KryoSerializer
      34f3c19 [Cheng Lian] Added TypeTag field to all NativeTypes
      acc5c48 [Cheng Lian] Added Hive test files to .gitignore
      57a4379c
    • Sean Owen's avatar
      SPARK-1254. Supplemental fix for HTTPS on Maven Central · abf6714e
      Sean Owen authored
      It seems that HTTPS does not necessarily work on Maven Central, as it does not today at least. Back to HTTP. Both builds works from a clean repo.
      
      Author: Sean Owen <sowen@cloudera.com>
      
      Closes #209 from srowen/SPARK-1254Fix and squashes the following commits:
      
      bb7be47 [Sean Owen] Revert to HTTP for Maven Central repo, as it seems HTTPS does not necessarily work
      abf6714e
  5. Mar 21, 2014
    • Emtiaz Ahmed's avatar
      Fix to Stage UI to display numbers on progress bar · 646e5540
      Emtiaz Ahmed authored
      Fixes an issue on Stage UI to display numbers on progress bar which are today hidden behind the progress bar div. Please refer to the attached images to see the issue.
      ![screen shot 2014-03-21 at 4 48 46 pm](https://f.cloud.github.com/assets/563652/2489083/8c127e80-b153-11e3-807c-048ebd45104b.png)
      ![screen shot 2014-03-21 at 4 49 00 pm](https://f.cloud.github.com/assets/563652/2489084/8c12cf5c-b153-11e3-8747-9d93ff6fceb4.png)
      
      Author: Emtiaz Ahmed <emtiazahmed@gmail.com>
      
      Closes #201 from emtiazahmed/master and squashes the following commits:
      
      a7964fe [Emtiaz Ahmed] Fix to Stage UI to display numbers on progress bar
      646e5540
    • Michael Armbrust's avatar
      Add asCode function for dumping raw tree representations. · d7809836
      Michael Armbrust authored
       Intended only for use by Catalyst developers.
      
      Author: Michael Armbrust <michael@databricks.com>
      
      Closes #200 from marmbrus/asCode and squashes the following commits:
      
      7e8c1d9 [Michael Armbrust] Add asCode function for dumping raw tree representations.  Intended only for use by Catalyst developers.
      d7809836
    • Matei Zaharia's avatar
      Make SQL keywords case-insensitive · dab5439a
      Matei Zaharia authored
      This is a bit of a hack that allows all variations of a keyword, but it still seems to produce valid error messages and such.
      
      Author: Matei Zaharia <matei@databricks.com>
      
      Closes #193 from mateiz/case-insensitive-sql and squashes the following commits:
      
      0ee4ace [Matei Zaharia] Removed unnecessary `+ ""`
      e3ed773 [Matei Zaharia] Make SQL keywords case-insensitive
      dab5439a
    • zsxwing's avatar
      SPARK-1279: Fix improper use of SimpleDateFormat · 2c0aa22e
      zsxwing authored
      `SimpleDateFormat` is not thread-safe. Some places use the same SimpleDateFormat object without safeguard in the multiple threads. It will cause that the Web UI displays improper date.
      
      This PR creates a new `SimpleDateFormat` every time when it's necessary. Another solution is using `ThreadLocal` to store a `SimpleDateFormat` in each thread. If this PR impacts the performance, I can change to the latter one.
      
      Author: zsxwing <zsxwing@gmail.com>
      
      Closes #179 from zsxwing/SPARK-1278 and squashes the following commits:
      
      21fabd3 [zsxwing] SPARK-1278: Fix improper use of SimpleDateFormat
      2c0aa22e
    • Michael Armbrust's avatar
      Add hive test files to repository. Remove download script. · 7e17fe69
      Michael Armbrust authored
      This PR removes our test dependence on files hosted at Berkeley by checking the test queries and answers into the repository.  This should also fix the maven Jenkins build.
      
      I realize this is a *giant* commit.  But size wise its actually pretty small.  We are only looking at ~1.2Mb compressed (~30Mb uncompressed).  Given that we already have a ~80Mb file permanently added to the spark code lineage, I do not think that this will change the developer experience significantly.
      
      Furthermore, I think it is good engineering practice to consider such test support files as "code", since changes to them would indicate a change in functionality.  These files were only excluded from the initial PR as I wanted the diff to be readable.
      
      Author: Michael Armbrust <michael@databricks.com>
      
      Closes #199 from marmbrus/hiveTestFiles and squashes the following commits:
      
      b9b9b17 [Michael Armbrust] Add hive test files to repository.  Remove download script.
      7e17fe69
    • Michael Armbrust's avatar
      Fix maven jenkins: Add explicit init for required tables in SQLQuerySuite · e09139d9
      Michael Armbrust authored
      Sorry! I added this test at the last minute and failed to run it in maven as well.
      
      Note that, this will probably not be sufficient to actually fix the maven jenkins build, as that does not use the dev/run-tests scripts.  We will need to configure it to also run dev/download-hive-tests.sh.  The other option would be to check in the tests as I suggested in the original PR. (I can do this if we agree its the right thing to do).
      
      Long term it would probably be a good idea to also have maven run some sort of test env setup script so that we can decouple the test environment from the jenkins configuration.
      
      Author: Michael Armbrust <michael@databricks.com>
      
      Closes #191 from marmbrus/fixMaven and squashes the following commits:
      
      3366e37 [Michael Armbrust] Fix maven jenkins: Add explicit init for required tables in SQLQuerySuite
      e09139d9
  6. Mar 20, 2014
    • Michael Armbrust's avatar
      SPARK-1251 Support for optimizing and executing structured queries · 9aadcffa
      Michael Armbrust authored
      This pull request adds support to Spark for working with structured data using a simple SQL dialect, HiveQL and a Scala Query DSL.
      
      *This is being contributed as a new __alpha component__ to Spark and does not modify Spark core or other components.*
      
      The code is broken into three primary components:
       - Catalyst (sql/catalyst) - An implementation-agnostic framework for manipulating trees of relational operators and expressions.
       - Execution (sql/core) - A query planner / execution engine for translating Catalyst’s logical query plans into Spark RDDs.  This component also includes a new public interface, SqlContext, that allows users to execute SQL or structured scala queries against existing RDDs and Parquet files.
       - Hive Metastore Support (sql/hive) - An extension of SqlContext called HiveContext that allows users to write queries using a subset of HiveQL and access data from a Hive Metastore using Hive SerDes.  There are also wrappers that allows users to run queries that include Hive UDFs, UDAFs, and UDTFs.
      
      A more complete design of this new component can be found in [the associated JIRA](https://spark-project.atlassian.net/browse/SPARK-1251).
      
      [An updated version of the Spark documentation, including API Docs for all three sub-components,](http://people.apache.org/~pwendell/catalyst-docs/sql-programming-guide.html) is also available for review.
      
      With this PR comes support for inferring the schema of existing RDDs that contain case classes.  Using this information, developers can now express structured queries that are automatically compiled into RDD operations.
      
      ```scala
      // Define the schema using a case class.
      case class Person(name: String, age: Int)
      val people: RDD[Person] =
        sc.textFile("people.txt").map(_.split(",")).map(p => Person(p(0), p(1).toInt))
      
      // The following is the same as 'SELECT name FROM people WHERE age >= 10 && age <= 19'
      val teenagers = people.where('age >= 10).where('age <= 19).select('name).toRdd
      ```
      
      RDDs can also be registered as Tables, allowing SQL queries to be written over them.
      ```scala
      people.registerAsTable("people")
      val teenagers = sql("SELECT name FROM people WHERE age >= 10 && age <= 19")
      ```
      
      The results of queries are themselves RDDs and support standard RDD operations:
      ```scala
      teenagers.map(t => "Name: " + t(0)).collect().foreach(println)
      ```
      
      Finally, with the optional Hive support, users can read and write data located in existing Apache Hive deployments using HiveQL.
      ```scala
      sql("CREATE TABLE IF NOT EXISTS src (key INT, value STRING)")
      sql("LOAD DATA LOCAL INPATH 'src/main/resources/kv1.txt' INTO TABLE src")
      
      // Queries are expressed in HiveQL
      sql("SELECT key, value FROM src").collect().foreach(println)
      ```
      
      ## Relationship to Shark
      
      Unlike Shark, Spark SQL does not act as a drop in replacement for Hive or the HiveServer. Instead this new feature is intended to make it easier for Spark developers to run queries over structured data, using either SQL or the query DSL. After this sub-project graduates from Alpha status it will likely become a new optimizer/backend for the Shark project.
      
      Author: Michael Armbrust <michael@databricks.com>
      Author: Yin Huai <huaiyin.thu@gmail.com>
      Author: Reynold Xin <rxin@apache.org>
      Author: Lian, Cheng <rhythm.mail@gmail.com>
      Author: Andre Schumacher <andre.schumacher@iki.fi>
      Author: Yin Huai <huai@cse.ohio-state.edu>
      Author: Timothy Chen <tnachen@gmail.com>
      Author: Cheng Lian <lian.cs.zju@gmail.com>
      Author: Timothy Chen <tnachen@apache.org>
      Author: Henry Cook <henry.m.cook+github@gmail.com>
      Author: Mark Hamstra <markhamstra@gmail.com>
      
      Closes #146 from marmbrus/catalyst and squashes the following commits:
      
      458bd1b [Michael Armbrust] Update people.txt
      0d638c3 [Michael Armbrust] Typo fix from @ash211.
      bdab185 [Michael Armbrust] Address another round of comments: * Doc examples can now copy/paste into spark-shell. * SQLContext is serializable * Minor parser bugs fixed * Self-joins of RDDs now handled correctly. * Removed deprecated examples * Removed deprecated parquet docs * Made more of the API private * Copied all the DSLQuery tests and rewrote them as SQLQueryTests
      778299a [Michael Armbrust] Fix some old links to spark-project.org
      fead0b6 [Michael Armbrust] Create a new RDD type, SchemaRDD, that is now the return type for all SQL operations.  This improves the old API by reducing the number of implicits that are required, and avoids throwing away schema information when returning an RDD to the user.  This change also makes it slightly less verbose to run language integrated queries.
      fee847b [Michael Armbrust] Merge remote-tracking branch 'origin/master' into catalyst, integrating changes to serialization for ShuffledRDD.
      48a99bc [Michael Armbrust] Address first round of feedback.
      461581c [Michael Armbrust] Blacklist test that depends on JVM specific rounding behaviour
      adcf1a4 [Henry Cook] Update sql-programming-guide.md
      9dffbfa [Michael Armbrust] Style fixes. Add downloading of test cases to jenkins.
      6978dd8 [Michael Armbrust] update docs, add apache license
      1d0eb63 [Michael Armbrust] update changes with spark core
      e5e1d6b [Michael Armbrust] Remove travis configuration.
      c2efad6 [Michael Armbrust] First draft of SQL documentation.
      013f62a [Michael Armbrust] Fix documentation / code style.
      c01470f [Michael Armbrust] Clean up example
      2f22454 [Michael Armbrust] WIP: Parquet example.
      ce8073b [Michael Armbrust] clean up implicits.
      f7d992d [Michael Armbrust] Naming / spelling.
      9eb0294 [Michael Armbrust] Bring expressions implicits into SqlContext.
      d2d9678 [Michael Armbrust] Make sure hive isn't in the assembly jar.  Create a separate, optional Hive assembly that is used when present.
      8b35e0a [Michael Armbrust] address feedback, work on DSL
      5d71074 [Michael Armbrust] Merge pull request #62 from AndreSchumacher/parquet_file_fixes
      f93aa39 [Andre Schumacher] Better handling of path names in ParquetRelation
      1a4bbd9 [Michael Armbrust] Merge pull request #60 from marmbrus/maven
      3386e4f [Michael Armbrust] Merge pull request #58 from AndreSchumacher/parquet_fixes
      3447c3e [Michael Armbrust] Don't override the metastore / warehouse in non-local/test hive context.
      7233a74 [Michael Armbrust] initial support for maven builds
      f0ba39e [Michael Armbrust] Merge remote-tracking branch 'origin/master' into maven
      7386a9f [Michael Armbrust] Initial example programs using spark sql.
      aeaef54 [Andre Schumacher] Removing unnecessary Row copying and reverting some changes to MutableRow
      7ca4b4e [Andre Schumacher] Improving checks in Parquet tests
      5bacdc0 [Andre Schumacher] Moving towards mutable rows inside ParquetRowSupport
      54637ec [Andre Schumacher] First part of second round of code review feedback
      c2a658d [Michael Armbrust] Merge pull request #55 from marmbrus/mutableRows
      ba28849 [Michael Armbrust] code review comments.
      d994333 [Michael Armbrust] Remove copies before shuffle, this required changing the default shuffle serialization.
      9049cf0 [Michael Armbrust] Extend MutablePair interface to support easy syntax for in-place updates.  Also add a constructor so that it can be serialized out-of-the-box.
      959bdf0 [Michael Armbrust] Don't silently swallow all KryoExceptions, only the one that indicates the end of a stream.
      d371393 [Michael Armbrust] Add a framework for dealing with mutable rows to reduce the number of object allocations that occur in the critical path.
      c9f8fb3 [Michael Armbrust] Merge pull request #53 from AndreSchumacher/parquet_support
      3c3f962 [Michael Armbrust] Fix a bug due to array reuse.  This will need to be revisited after we merge the mutable row PR.
      7d0f13e [Michael Armbrust] Update parquet support with master.
      9d419a6 [Michael Armbrust] Merge remote-tracking branch 'catalyst/catalystIntegration' into parquet_support
      0040ae6 [Andre Schumacher] Feedback from code review
      1ce01c7 [Michael Armbrust] Merge pull request #56 from liancheng/unapplySeqForRow
      70e489d [Cheng Lian] Fixed a spelling typo
      6d315bb [Cheng Lian] Added Row.unapplySeq to extract fields from a Row object.
      8d5da5e [Michael Armbrust] modify compute-classpath.sh to include datanucleus jars explicitly
      99e61fb [Michael Armbrust] Merge pull request #51 from marmbrus/expressionEval
      7b9d142 [Michael Armbrust] Update travis to increase permgen size.
      da9afbd [Michael Armbrust] Add byte wrappers for hive UDFS.
      6fdefe6 [Michael Armbrust] Port sbt improvements from master.
      296fe50 [Michael Armbrust] Address review feedback.
      d7fbc3a [Michael Armbrust] Several performance enhancements and simplifications of the expression evaluation framework.
      3bda72d [Andre Schumacher] Adding license banner to new files
      3ac9eb0 [Andre Schumacher] Rebasing to new main branch
      c863bed [Andre Schumacher] Codestyle checks
      61e3bfb [Andre Schumacher] Adding WriteToFile operator and rewriting ParquetQuerySuite
      3321195 [Andre Schumacher] Fixing one import in ParquetQueryTests.scala
      3a0a552 [Andre Schumacher] Reorganizing Parquet table operations
      18fdc44 [Andre Schumacher] Reworking Parquet metadata in relation and adding CREATE TABLE AS for Parquet tables
      75262ee [Andre Schumacher] Integrating operations on Parquet files into SharkStrategies
      f347273 [Andre Schumacher] Adding ParquetMetaData extraction, fixing schema projection
      6a6bf98 [Andre Schumacher] Added column projections to ParquetTableScan
      0f17d7b [Andre Schumacher] Rewriting ParquetRelation tests with RowWriteSupport
      a11e364 [Andre Schumacher] Adding Parquet RowWriteSupport
      6ad05b3 [Andre Schumacher] Moving ParquetRelation to spark.sql core
      eb0e521 [Andre Schumacher] Fixing package names and other problems that came up after the rebase
      99a9209 [Andre Schumacher] Expanding ParquetQueryTests to cover all primitive types
      b33e47e [Andre Schumacher] First commit of Parquet import of primitive column types
      c334386 [Michael Armbrust] Initial support for generating schema's based on case classes.
      608a29e [Michael Armbrust] Add hive as a repl dependency
      7413ac2 [Michael Armbrust] make test downloading quieter.
      4d57d0e [Michael Armbrust] Fix test execution on travis.
      5f2963c [Michael Armbrust] naming and continuous compilation fixes.
      f5e7492 [Michael Armbrust] Add Apache license.  Make naming more consistent.
      3ac9416 [Michael Armbrust] Merge support for working with schema-ed RDDs using catalyst in as a spark subproject.
      2225431 [Michael Armbrust] Merge pull request #48 from marmbrus/minorFixes
      d393d2a [Michael Armbrust] Review Comments: Add comment to map that adds a sub query.
      24eaa79 [Michael Armbrust] fix > 100 chars
      6e04e5b [Michael Armbrust] Add insertIntoTable to the DSL.
      df88f01 [Michael Armbrust] add a simple test for aggregation
      18a861b [Michael Armbrust] Correctly convert nested products into nested rows when turning scala data into catalyst data.
      b922511 [Michael Armbrust] Fix insertion of nested types into hive tables.
      5fe7de4 [Michael Armbrust] Move table creation out of rule into a separate function.
      a430895 [Michael Armbrust] Planning for logical Repartition operators.
      532dd37 [Michael Armbrust] Allow the local warehouse path to be specified.
      4905b2b [Michael Armbrust] Add more efficient TopK that avoids global sort for logical Sort => StopAfter.
      8c01c24 [Michael Armbrust] Move definition of Row out of execution to top level sql package.
      c9116a6 [Michael Armbrust] Add combiner to avoid NPE when spark performs external aggregation.
      29effad [Michael Armbrust] Include alias in attributes that are produced by overridden tables.
      9990ec7 [Michael Armbrust] Merge pull request #28 from liancheng/columnPruning
      f22df3a [Michael Armbrust] Merge pull request #37 from yhuai/SerDe
      cf4db59 [Lian, Cheng] Added golden answers for PruningSuite
      54f165b [Lian, Cheng] Fixed spelling typo in two golden answer file names
      2682f72 [Lian, Cheng] Merge remote-tracking branch 'origin/master' into columnPruning
      c5a4fab [Lian, Cheng] Merge branch 'master' into columnPruning
      f670c8c [Yin Huai] Throw a NotImplementedError for not supported clauses in a CTAS query.
      128a9f8 [Yin Huai] Minor changes.
      017872c [Yin Huai] Remove stats20 from whitelist.
      a1a4776 [Yin Huai] Update comments.
      feb022c [Yin Huai] Partitioning key should be case insensitive.
      555fb1d [Yin Huai] Correctly set the extension for a text file.
      d00260b [Yin Huai] Strips backticks from partition keys.
      334aace [Yin Huai] New golden files.
      a40d6d6 [Yin Huai] Loading the static partition specified in a INSERT INTO/OVERWRITE query.
      428aff5 [Yin Huai] Distinguish `INSERT INTO` and `INSERT OVERWRITE`.
      eea75c5 [Yin Huai] Correctly set codec.
      45ffb86 [Yin Huai] Merge remote-tracking branch 'upstream/master' into SerDeNew
      e089627 [Yin Huai] Code style.
      563bb22 [Yin Huai] Set compression info in FileSinkDesc.
      35c9a8a [Michael Armbrust] Merge pull request #46 from marmbrus/reviewFeedback
      bdab5ed [Yin Huai] Add a TODO for loading data into partitioned tables.
      5495fab [Yin Huai] Remove cloneRecords which is no longer needed.
      1596e1b [Yin Huai] Cleanup imports to make IntelliJ happy.
      3bb272d [Michael Armbrust] move org.apache.spark.sql package.scala to the correct location.
      8506c17 [Michael Armbrust] Address review feedback.
      3cb4f2e [Michael Armbrust] Merge pull request #45 from tnachen/master
      9ad474d [Michael Armbrust] Merge pull request #44 from marmbrus/sampling
      566fd66 [Timothy Chen] Whitelist tests and add support for Binary type
      69adf72 [Yin Huai] Set cloneRecords to false.
      a9c3188 [Timothy Chen] Fix udaf struct return
      346f828 [Yin Huai] Move SharkHadoopWriter to the correct location.
      59e37a3 [Yin Huai] Merge remote-tracking branch 'upstream/master' into SerDeNew
      ed3a1d1 [Yin Huai] Load data directly into Hive.
      7f206b5 [Michael Armbrust] Add support for hive TABLESAMPLE PERCENT.
      b6de691 [Michael Armbrust] Merge pull request #43 from liancheng/fixMakefile
      1f6260d [Lian, Cheng] Fixed package name and test suite name in Makefile
      5ae010f [Michael Armbrust] Merge pull request #42 from markhamstra/non-ascii
      678341a [Mark Hamstra] Replaced non-ascii text
      887f928 [Yin Huai] Merge remote-tracking branch 'upstream/master' into SerDeNew
      1f7d00a [Reynold Xin] Merge pull request #41 from marmbrus/splitComponents
      7588a57 [Michael Armbrust] Break into 3 major components and move everything into the org.apache.spark.sql package.
      bc9a12c [Michael Armbrust] Move hive test files.
      5720d2b [Lian, Cheng] Fixed comment typo
      f0c3742 [Lian, Cheng] Refactored PhysicalOperation
      f235914 [Lian, Cheng] Test case udf_regex and udf_like need BooleanWritable registered
      cf691df [Lian, Cheng] Added the PhysicalOperation to generalize ColumnPrunings
      2407a21 [Lian, Cheng] Added optimized logical plan to debugging output
      a7ad058 [Michael Armbrust] Merge pull request #40 from marmbrus/includeGoldens
      9329820 [Michael Armbrust] add golden answer files to repository
      dce0593 [Michael Armbrust] move golden answer to the source code directory.
      964368f [Michael Armbrust] Merge pull request #39 from marmbrus/lateralView
      7785ee6 [Michael Armbrust] Tighten visibility based on comments.
      341116c [Michael Armbrust] address comments.
      0e6c1d7 [Reynold Xin] Merge pull request #38 from yhuai/parseDBNameInCTAS
      2897deb [Michael Armbrust] fix scaladoc
      7123225 [Yin Huai] Correctly parse the db name and table name in INSERT queries.
      b376d15 [Michael Armbrust] fix newlines at EOF
      5cc367c [Michael Armbrust] use berkeley instead of cloudbees
      ff5ea3f [Michael Armbrust] new golden
      db92adc [Michael Armbrust] more tests passing. clean up logging.
      740febb [Michael Armbrust] Tests for tgfs.
      0ce61b0 [Michael Armbrust] Docs for GenericHiveUdtf.
      ba8897f [Michael Armbrust] Merge remote-tracking branch 'yin/parseDBNameInCTAS' into lateralView
      dd00b7e [Michael Armbrust] initial implementation of generators.
      ea76cf9 [Michael Armbrust] Add NoRelation to planner.
      bea4b7f [Michael Armbrust] Add SumDistinct.
      016b489 [Michael Armbrust] fix typo.
      acb9566 [Michael Armbrust] Correctly type attributes of CTAS.
      8841eb8 [Michael Armbrust] Rename Transform -> ScriptTransformation.
      02ff8e4 [Yin Huai] Correctly parse the db name and table name in a CTAS query.
      5e4d9b4 [Michael Armbrust] Merge pull request #35 from marmbrus/smallFixes
      5479066 [Reynold Xin] Merge pull request #36 from marmbrus/partialAgg
      8017afb [Michael Armbrust] fix copy paste error.
      dc6353b [Michael Armbrust] turn off deprecation
      cab1a84 [Michael Armbrust] Fix PartialAggregate inheritance.
      883006d [Michael Armbrust] improve tests.
      32b615b [Michael Armbrust] add override to asPartial.
      e1999f9 [Yin Huai] Use Deserializer and Serializer instead of AbstractSerDe.
      f94345c [Michael Armbrust] fix doc link
      d8cb805 [Michael Armbrust] Implement partial aggregation.
      ccdb07a [Michael Armbrust] Fix bug where averages of strings are turned into sums of strings.  Remove a blank line.
      b4be6a5 [Michael Armbrust] better logging when applying rules.
      67128b8 [Reynold Xin] Merge pull request #30 from marmbrus/complex
      cb57459 [Michael Armbrust] blacklist machine specific test.
      2f27604 [Michael Armbrust] Address comments / style errors.
      389525d [Michael Armbrust] update golden, blacklist mr.
      e3c10bd [Michael Armbrust] update whitelist.
      44d343c [Michael Armbrust] Merge remote-tracking branch 'databricks/master' into complex
      42ec4af [Michael Armbrust] improve complex type support in hive udfs/udafs.
      ab5bff3 [Michael Armbrust] Support for get item of map types.
      1679554 [Michael Armbrust] add toString for if and IS NOT NULL.
      ab9a131 [Michael Armbrust] when UDFs fail they should return null.
      25288d0 [Michael Armbrust] Implement [] for arrays and maps.
      e7933e9 [Michael Armbrust] fix casting bug when working with fractional expressions.
      010accb [Michael Armbrust] add tinyint to metastore type parser.
      7a0f543 [Michael Armbrust] Avoid propagating types from unresolved nodes.
      ac9d7de [Michael Armbrust] Resolve *s in Transform clauses.
      692a477 [Michael Armbrust] Support for wrapping arrays to be written into hive tables.
      92e4158 [Reynold Xin] Merge pull request #32 from marmbrus/tooManyProjects
      9c06778 [Michael Armbrust] fix serialization issues, add JavaStringObjectInspector.
      72a003d [Michael Armbrust] revert regex change
      7661b6c [Michael Armbrust] blacklist machines specific tests
      aa430e7 [Michael Armbrust] Update .travis.yml
      e4def6b [Michael Armbrust] set dataType for HiveGenericUdfs.
      5e54aa6 [Michael Armbrust] quotes for struct field names.
      bbec500 [Michael Armbrust] update test coverage, new golden
      3734a94 [Michael Armbrust] only quote string types.
      3f9e519 [Michael Armbrust] use names w/ boolean args
      5b3d2c8 [Michael Armbrust] implement distinct.
      5b33216 [Michael Armbrust] work on decimal support.
      2c6deb3 [Michael Armbrust] improve printing compatibility.
      35a70fb [Michael Armbrust] multi-letter field names.
      a9388fb [Michael Armbrust] printing for map types.
      c3feda7 [Michael Armbrust] use toArray.
      c654f19 [Michael Armbrust] Support for list and maps in hive table scan.
      cf8d992 [Michael Armbrust] Use built in functions for creating temp directory.
      1579eec [Michael Armbrust] Only cast unresolved inserts.
      6420c7c [Michael Armbrust] Memoize the ordinal in the GetField expression.
      da7ae9d [Michael Armbrust] Add boolean writable that was breaking udf_regexp test.  Not sure how this was passing before...
      6709441 [Michael Armbrust] Evaluation for accessing nested fields.
      dc6463a [Michael Armbrust] Support for resolving access to nested fields using "." notation.
      d670e41 [Michael Armbrust] Print nested fields like hive does.
      efa7217 [Michael Armbrust] Support for reading structs in HiveTableScan.
      9c22b4e [Michael Armbrust] Support for parsing nested types.
      82163e3 [Michael Armbrust] special case handling of partitionKeys when casting insert into tables
      ea6f37f [Michael Armbrust] fix style.
      7845364 [Michael Armbrust] deactivate concurrent test.
      b649c20 [Michael Armbrust] fix test logging / caching.
      1590568 [Michael Armbrust] add log4j.properties
      19bfd74 [Michael Armbrust] store hive output in circular buffer
      dfb67aa [Michael Armbrust] add test case
      cb775ac [Michael Armbrust] get rid of SharkContext singleton
      2de89d0 [Michael Armbrust] Merge pull request #13 from tnachen/master
      63003e9 [Michael Armbrust] Fix spacing.
      41b41f3 [Michael Armbrust] Only cast unresolved inserts.
      6eb5960 [Michael Armbrust] Merge remote-tracking branch 'databricks/master' into udafs
      5b7afd8 [Michael Armbrust] Merge pull request #10 from yhuai/exchangeOperator
      b1151a8 [Timothy Chen] Fix load data regex
      8e0931f [Michael Armbrust] Cast to avoid using deprecated hive API.
      e079f2b [Timothy Chen] Add GenericUDAF wrapper and HiveUDAFFunction
      45b334b [Yin Huai] fix comments
      235cbb4 [Yin Huai] Merge remote-tracking branch 'upstream/master' into exchangeOperator
      fc67b50 [Yin Huai] Check for a Sort operator with the global flag set instead of an Exchange operator with a RangePartitioning.
      6015f93 [Michael Armbrust] Merge pull request #29 from rxin/style
      271e483 [Michael Armbrust] Update build status icon.
      d3a3d48 [Michael Armbrust] add testing to travis
      807b2d7 [Michael Armbrust] check style and publish docs with travis
      d20b565 [Michael Armbrust] fix if style
      bce024d [Michael Armbrust] Merge remote-tracking branch 'databricks/master' into style Disable if brace checking as it errors in single line functional cases unlike the style guide.
      d91e276 [Michael Armbrust] Remove dependence on HIVE_HOME for running tests.  This was done by moving all the hive query test (from branch-0.12) and data files into src/test/hive.  These are used by default when HIVE_HOME is not set.
      f47c2f6 [Yin Huai] set outputPartitioning in BroadcastNestedLoopJoin
      41bbee6 [Yin Huai] Merge remote-tracking branch 'upstream/master' into exchangeOperator
      7e24436 [Reynold Xin] Removed dependency on JDK 7 (nio.file).
      5c1e600 [Reynold Xin] Added hash code implementation for AttributeReference
      7213a2c [Reynold Xin] style fix for Hive.scala.
      08e4d05 [Reynold Xin] First round of style cleanup.
      605255e [Reynold Xin] Added scalastyle checker.
      61e729c [Lian, Cheng] Added ColumnPrunings strategy and test cases
      2486fb7 [Lian, Cheng] Fixed spelling
      8ee41be [Lian, Cheng] Minor refactoring
      ebb56fa [Michael Armbrust] add travis config
      4c89d6e [Reynold Xin] Merge pull request #27 from marmbrus/moreTests
      d4f539a [Michael Armbrust] blacklist mr and user specific tests.
      677eb07 [Michael Armbrust] Update test whitelist.
      5dab0bc [Michael Armbrust] Merge pull request #26 from liancheng/serdeAndPartitionPruning
      c263c84 [Michael Armbrust] Only push predicates into partitioned table scans.
      ab77882 [Michael Armbrust] upgrade spark to RC5.
      c98ede5 [Lian, Cheng] Response to comments from @marmbrus
      83d4520 [Yin Huai] marmbrus's comments
      70994a3 [Lian, Cheng] Revert unnecessary Scaladoc changes
      9ebff47 [Yin Huai] remove unnecessary .toSeq
      e811d1a [Yin Huai] markhamstra's comments
      4802f69 [Yin Huai] The outputPartitioning of a UnaryNode inherits its child's outputPartitioning by default. Also, update the logic in AddExchange to avoid unnecessary shuffling operations.
      040fbdf [Yin Huai] AddExchange is the only place to add Exchange operators.
      9fb357a [Yin Huai] use getSpecifiedDistribution to create Distribution. ClusteredDistribution and OrderedDistribution do not take Nil as inptu expressions.
      e9347fc [Michael Armbrust] Remove broken scaladoc links.
      99c6707 [Michael Armbrust] upgrade spark
      57799ad [Lian, Cheng] Added special treat for HiveVarchar in InsertIntoHiveTable
      cb49af0 [Lian, Cheng] Fixed Scaladoc links
      4e5e4d4 [Lian, Cheng] Added PreInsertionCasts to do necessary casting before insertion
      111ffdc [Lian, Cheng] More comments and minor reformatting
      9e0d840 [Lian, Cheng] Added partition pruning optimization
      761bbb8 [Lian, Cheng] Generalized BindReferences to run against any query plan
      04eb5da [Yin Huai] Merge remote-tracking branch 'upstream/master' into exchangeOperator
      9dd3b26 [Michael Armbrust] Fix scaladoc.
      6f44cac [Lian, Cheng] Made TableReader & HadoopTableReader private to catalyst
      7c92a41 [Lian, Cheng] Added Hive SerDe support
      ce5fdd6 [Yin Huai] Merge remote-tracking branch 'upstream/master' into exchangeOperator
      2957f31 [Yin Huai] addressed comments on PR
      907db68 [Michael Armbrust] Space after while.
      04573a0 [Reynold Xin] Merge pull request #24 from marmbrus/binaryCasts
      4e50679 [Reynold Xin] Merge pull request #25 from marmbrus/rowOrderingWhile
      5bc1dc2 [Yin Huai] Merge remote-tracking branch 'upstream/master' into exchangeOperator
      be1fff7 [Michael Armbrust] Replace foreach with while in RowOrdering. Fixes #23
      fd084a4 [Michael Armbrust] implement casts binary <=> string.
      0b31176 [Michael Armbrust] Merge pull request #22 from rxin/type
      548e479 [Yin Huai] merge master into exchangeOperator and fix code style
      5b11db0 [Reynold Xin] Added Void to Boolean type widening.
      9e3d989 [Reynold Xin] Made HiveTypeCoercion.WidenTypes more clear.
      9bb1979 [Reynold Xin] Merge pull request #19 from marmbrus/variadicUnion
      a2beb38 [Michael Armbrust] Merge pull request #21 from liancheng/fixIssue20
      b20a4d4 [Lian, Cheng] Fix issue #20
      6d6cb58 [Michael Armbrust] add source links that point to github to the scala doc.
      4285962 [Michael Armbrust] Remove temporary test cases
      167162f [Michael Armbrust] more merge errors, cleanup.
      e170ccf [Michael Armbrust] Improve documentation and remove some spurious changes that were introduced by the merge.
      6377d0b [Michael Armbrust] Drop empty files, fix if ().
      c0b0e60 [Michael Armbrust] cleanup broken doc links.
      330a88b [Michael Armbrust] Fix bugs in AddExchange.
      4f345f2 [Michael Armbrust] Remove SortKey, use RowOrdering.
      043e296 [Michael Armbrust] Make physical union nodes variadic.
      ece15e1 [Michael Armbrust] update unit tests
      5c89d2e [Michael Armbrust] Merge remote-tracking branch 'databricks/master' into exchangeOperator Fix deprecated use of combineValuesByKey. Get rid of test where the answer is dependent on the plan execution width.
      9804eb5 [Michael Armbrust] upgrade spark
      053a371 [Michael Armbrust] Merge pull request #15 from marmbrus/orderedRow
      5ab18be [Michael Armbrust] Merge remote-tracking branch 'databricks/master' into orderedRow
      ca2ff68 [Michael Armbrust] Merge pull request #17 from marmbrus/unionTypes
      bf9161c [Michael Armbrust] Merge pull request #18 from marmbrus/noSparkAgg
      563053f [Michael Armbrust] Address @rxin's comments.
      6537c66 [Michael Armbrust] Address @rxin's comments.
      2a76fc6 [Michael Armbrust] add notes from @rxin.
      685bfa1 [Michael Armbrust] fix spelling
      69ed98f [Michael Armbrust] Output a single row for empty Aggregations with no grouping expressions.
      7859a86 [Michael Armbrust] Remove SparkAggregate.  Its kinda broken and breaks RDD lineage.
      fc22e01 [Michael Armbrust] whitelist newly passing union test.
      3f547b8 [Michael Armbrust] Add support for widening types in unions.
      53b95f8 [Michael Armbrust] coercion should not occur until children are resolved.
      b892e32 [Michael Armbrust] Union is not resolved until the types match up.
      95ab382 [Michael Armbrust] Use resolved instead of custom function.  This is better because some nodes override the notion of resolved.
      81a109d [Michael Armbrust] fix link.
      f143f61 [Michael Armbrust] Implement sampling.  Fixes a flaky test where the JVM notices that RAND as a Comparison method "violates its general contract!"
      6cd442b [Michael Armbrust] Use numPartitions variable, fix grammar.
      c800798 [Michael Armbrust] Add build status icon.
      0cf5a75 [Michael Armbrust] Merge pull request #16 from marmbrus/filterPushDown
      05d3a0d [Michael Armbrust] Refactor to avoid serializing ordering details with every row.
      f2fdd77 [Michael Armbrust] fix required distribtion for aggregate.
      658866e [Michael Armbrust] Pull back in changes made by @yhuai eliminating CoGroupedLocallyRDD.scala
      583a337 [Michael Armbrust] break apart distribution and partitioning.
      e8d41a9 [Michael Armbrust] Merge remote-tracking branch 'yin/exchangeOperator' into exchangeOperator
      0ff8be7 [Michael Armbrust] Cleanup spurious changes and fix doc links.
      73c70de [Yin Huai] add a first set of unit tests for data properties.
      fbfa437 [Michael Armbrust] Merge remote-tracking branch 'databricks/master' into filterPushDown Minor doc improvements.
      2b9d80f [Yin Huai] initial commit of adding exchange operators to physical plans.
      fcbc03b [Michael Armbrust] Fix if ().
      7b9080c [Michael Armbrust] Create OrderedRow class to allow ordering to be used by multiple operators.
      b4adb0f [Michael Armbrust] Merge pull request #14 from marmbrus/castingAndTypes
      b2a1ec5 [Michael Armbrust] add comment on how using numeric implicitly complicates spark serialization.
      e286d20 [Michael Armbrust] address code review comments.
      80d0681 [Michael Armbrust] fix scaladoc links.
      de0c248 [Michael Armbrust] Print the executed plan in SharkQuery toString.
      3413e61 [Michael Armbrust] Add mapChildren and withNewChildren methods to TreeNode.
      404d552 [Michael Armbrust] Better exception when unbound attributes make it to evaluation.
      fb84ae4 [Michael Armbrust] Refactor DataProperty into Distribution.
      2abb0bc [Michael Armbrust] better debug messages, use exists.
      098dfc4 [Michael Armbrust] Implement Long sorting again.
      60f3a9a [Michael Armbrust] More aggregate functions out of the aggregate class to make things more readable.
      a1ef62e [Michael Armbrust] Print the executed plan in SharkQuery toString.
      dfce426 [Michael Armbrust] Add mapChildren and withNewChildren methods to TreeNode.
      037a2ed [Michael Armbrust] Better exception when unbound attributes make it to evaluation.
      ec90620 [Michael Armbrust] Support for Sets as arguments to TreeNode classes.
      b21f803 [Michael Armbrust] Merge pull request #11 from marmbrus/goldenGen
      83adb9d [Yin Huai] add DataProperty
      5a26292 [Michael Armbrust] Rules to bring casting more inline with Hive semantics.
      f0e0161 [Michael Armbrust] Move numeric types into DataTypes simplifying evaluator.  This can probably also be use for codegen...
      6d2924d [Michael Armbrust] add support for If. Not integrated in HiveQL yet.
      ccc4dbf [Michael Armbrust] Add optimization rule to simplify casts.
      058ec15 [Michael Armbrust] handle more writeables.
      ffa9f25 [Michael Armbrust] blacklist some more MR tests.
      aa2239c [Michael Armbrust] filter test lines containing Owner:
      f71a325 [Michael Armbrust] Update golden jar.
      a3003ae [Michael Armbrust] Update makefile to use better sharding support.
      568d150 [Michael Armbrust] Updates to white/blacklist.
      8351f25 [Michael Armbrust] Add an ignored test to remind us we don't do empty aggregations right.
      c4104ec [Michael Armbrust] Numerous improvements to testing infrastructure.  See comments for details.
      09c6300 [Michael Armbrust] Add nullability information to StructFields.
      5460b2d [Michael Armbrust] load srcpart by default.
      3695141 [Michael Armbrust] Lots of parser improvements.
      965ac9a [Michael Armbrust] Add expressions that allow access into complex types.
      3ba53c9 [Michael Armbrust] Output type suffixes on AttributeReferences.
      8777489 [Michael Armbrust] Initial support for operators that allow the user to specify partitioning.
      e57f97a [Michael Armbrust] more decimal/null support.
      e1440ed [Michael Armbrust] Initial support for function specific type conversions.
      1814ed3 [Michael Armbrust] use childrenResolved function.
      f2ec57e [Michael Armbrust] Begin supporting decimal.
      6924e6e [Michael Armbrust] Handle NullTypes when resolving HiveUDFs
      7fcfa8a [Michael Armbrust] Initial support for parsing unspecified partition parameters.
      d0124f3 [Michael Armbrust] Correctly type null literals.
      b65626e [Michael Armbrust] Initial support for parsing BigDecimal.
      a90efda [Michael Armbrust] utility function for outputing string stacktraces.
      7102f33 [Michael Armbrust] methods with side-effects should use ().
      3ccaef7 [Michael Armbrust] add renaming TODO.
      bc282c7 [Michael Armbrust] fix bug in getNodeNumbered
      c8e89d5 [Michael Armbrust] memoize inputSet calculation.
      6aefa46 [Michael Armbrust] Skip folding literals.
      a72e540 [Michael Armbrust] Add IN operator.
      04f885b [Michael Armbrust] literals are only non-nullable if they are not null.
      35d2948 [Michael Armbrust] correctly order partition and normal attributes in hive relation output.
      12fd52d [Michael Armbrust] support for sorting longs.
      0606520 [Michael Armbrust] drop old comment.
      859200a [Michael Armbrust] support for reading more types from the metastore.
      1fedd18 [Michael Armbrust] coercion from null to numeric types
      71e902d [Michael Armbrust] fix test cases.
      cc06b6c [Michael Armbrust] Merge remote-tracking branch 'databricks/master' into interviewAnswer
      8a8b521 [Reynold Xin] Merge pull request #8 from marmbrus/testImprovment
      86355a6 [Michael Armbrust] throw error if there are unexpected join clauses.
      c5842d2 [Michael Armbrust] don't throw an error when a select clause outputs multiple copies of the same attribute.
      0e975ea [Michael Armbrust] parse bucket sampling as percentage sampling
      a92919d [Michael Armbrust] add alter view as to native commands
      f58d5a5 [Michael Armbrust] support for parsing SELECT DISTINCT
      f0faa26 [Michael Armbrust] add sample and distinct operators.
      ef7b943 [Michael Armbrust] add metastore support for float
      e9f4588 [Michael Armbrust] fix > 100 char.
      755b229 [Michael Armbrust] blacklist some ddl tests.
      9ae740a [Michael Armbrust] blacklist more tests that require MR.
      4cfc11a [Michael Armbrust] more test coverage.
      0d9d56a [Michael Armbrust] add more native commands to parser
      78d730d [Michael Armbrust] Load src test table on RESET.
      8364ec2 [Michael Armbrust] whitelist all possible partition values.
      b01468d [Michael Armbrust] support path rewrites when the query begins with a comment.
      4c6b454 [Michael Armbrust] add option for recomputing the cached golden answer when tests fail.
      4c5fb0f [Michael Armbrust] makefile target for building new whitelist.
      4b6fed8 [Michael Armbrust] support for parsing both DESTINATION and INSERT_INTO.
      516481c [Michael Armbrust] Ignore requests to explain native commands.
      68aa2e6 [Michael Armbrust] Stronger type for Token extractor.
      ca4ea26 [Michael Armbrust] Support for parsing UDF(*).
      1aafea3 [Michael Armbrust] Configure partition whitelist in TestShark reset.
      9627616 [Michael Armbrust] Use current database as default database.
      9b02b44 [Michael Armbrust] Fix spelling error. Add failFast mode.
      6f64cee [Michael Armbrust] don't line wrap string literal
      eafaeed [Michael Armbrust] add type documentation
      f54c94c [Michael Armbrust] make golden answers file a test dependency
      5362365 [Michael Armbrust] push conditions into join
      0d2388b [Michael Armbrust] Point at databricks hosted scaladoc.
      73b29cd [Michael Armbrust] fix bad casting
      9aa06c5 [Michael Armbrust] Merge pull request #7 from marmbrus/docFixes
      7eff191 [Michael Armbrust] link all the expression names.
      83227e4 [Michael Armbrust] fix scaladoc list syntax, add docs for some rules
      9de6b74 [Michael Armbrust] fix language feature and deprecation warnings.
      0b1960a [Michael Armbrust] Fix broken scala doc links / warnings.
      b1acb36 [Michael Armbrust] Merge pull request #3 from yhuai/evalauteLiteralsInExpressions
      01c00c2 [Michael Armbrust] new golden
      5c14857 [Yin Huai] Merge remote-tracking branch 'upstream/master' into evalauteLiteralsInExpressions
      b749b51 [Michael Armbrust] Merge pull request #5 from marmbrus/testCaching
      66adceb [Michael Armbrust] Merge pull request #6 from marmbrus/joinWork
      1a393da [Yin Huai] folded -> foldable
      1e964ea [Yin Huai] update
      a43d41c [Michael Armbrust] more tests passing!
      8ca38d0 [Michael Armbrust] begin support for varchar / binary types.
      ab8bbd1 [Michael Armbrust] parsing % operator
      c16c8b5 [Michael Armbrust] case insensitive checking for hooks in tests.
      3a90a5f [Michael Armbrust] simpler output when running a single test from the commandline.
      5332fee [Yin Huai] Merge remote-tracking branch 'upstream/master' into evalauteLiteralsInExpressions
      367fb9e [Yin Huai] update
      0cd5cc6 [Michael Armbrust] add BIGINT cast parsing
      61b266f [Michael Armbrust] comment for eliminate subqueries.
      d72a5a2 [Michael Armbrust] add long to literal factory object.
      b3bd15f [Michael Armbrust] blacklist more mr requiring tests.
      e06fd38 [Michael Armbrust] black list map reduce tests.
      8e7ce30 [Michael Armbrust] blacklist some env specific tests.
      6250cbd [Michael Armbrust] Do not exit on test failure
      b22b220 [Michael Armbrust] also look for cached hive test answers on the classpath.
      b6e4899 [Yin Huai] formatting
      e75c90d [Reynold Xin] Merge pull request #4 from marmbrus/hive12
      5fabbec [Michael Armbrust] ignore partitioned scan test. scan seems to be working but there is some error about the table already existing?
      9e190f5 [Michael Armbrust] drop unneeded ()
      68b58c1 [Michael Armbrust] drop a few more tests.
      b0aa400 [Michael Armbrust] update whitelist.
      c99012c [Michael Armbrust] skip tests with hooks
      db00ebf [Michael Armbrust] more types for hive udfs
      dbc3678 [Michael Armbrust] update ghpages repo
      138f53d [Yin Huai] addressed comments and added a space after a space after the defining keyword of every control structure.
      6f954ee [Michael Armbrust] export the hadoop classpath when starting sbt, required to invoke hive during tests.
      46bf41b [Michael Armbrust] add a makefile for priming the test answer cache in parallel.  usage: "make -j 8 -i"
      8d47ed4 [Yin Huai] comment
      2795f05 [Yin Huai] comment
      e003728 [Yin Huai] move OptimizerSuite to the package of catalyst.optimizer
      2941d3a [Yin Huai] Merge remote-tracking branch 'upstream/master' into evalauteLiteralsInExpressions
      0bd1688 [Yin Huai] update
      6a7bd75 [Michael Armbrust] fix partition column delimiter configuration.
      e942da1 [Michael Armbrust] Begin upgrade to Hive 0.12.0.
      b8cd7e3 [Michael Armbrust] Merge pull request #7 from rxin/moreclean
      52864da [Reynold Xin] Added executeCollect method to SharkPlan.
      f0e1cbf [Reynold Xin] Added resolved lazy val to LogicalPlan.
      b367e36 [Reynold Xin] Replaced the use of ??? with UnsupportedOperationException.
      38124bd [Yin Huai] formatting
      2924468 [Yin Huai] add two tests for testing pre-order and post-order tree traversal, respectively
      555d839 [Reynold Xin] More cleaning ...
      d48d0e1 [Reynold Xin] Code review feedback.
      aa2e694 [Yin Huai] Merge remote-tracking branch 'upstream/master' into evalauteLiteralsInExpressions
      5c421ac [Reynold Xin] Imported SharkEnv, SharkContext, and HadoopTableReader to remove Shark dependency.
      479e055 [Reynold Xin] A set of minor changes, including: - import order - limit some lines to 100 character wide - inline code comment - more scaladocs - minor spacing (i.e. add a space after if)
      da16e45 [Reynold Xin] Merge pull request #3 from rxin/packagename
      e36caf5 [Reynold Xin] Renamed Rule.name to Rule.ruleName since name is used too frequently in the code base and is shadowed often by local scope.
      72426ed [Reynold Xin] Rename shark2 package to execution.
      0892153 [Reynold Xin] Merge pull request #2 from rxin/packagename
      e58304a [Reynold Xin] Merge pull request #1 from rxin/gitignore
      3f9fee1 [Michael Armbrust] rewrite push filter through join optimization.
      c6527f5 [Reynold Xin] Moved the test src files into the catalyst directory.
      c9777d8 [Reynold Xin] Put all source files in a catalyst directory.
      019ea74 [Reynold Xin] Updated .gitignore to include IntelliJ files.
      80ca4be [Timothy Chen] Address comments
      0079392 [Michael Armbrust] support for multiple insert commands in a single query
      75b5a01 [Michael Armbrust] remove space.
      4283400 [Timothy Chen] Add limited predicate push down
      e547e50 [Michael Armbrust] implement First.
      e77c9b6 [Michael Armbrust] more work on unique join.
      c795e06 [Michael Armbrust] improve star expansion
      a26494e [Michael Armbrust] allow aliases to have qualifiers
      d078333 [Michael Armbrust] remove extra space
      a75c023 [Michael Armbrust] implement Coalesce
      3a018b6 [Michael Armbrust] fix up docs.
      ab6f67d [Michael Armbrust] import the string "null" as actual null.
      5377c04 [Michael Armbrust] don't call dataType until checking if children are resolved.
      191ce3e [Michael Armbrust] analyze rewrite test query.
      60b1526 [Michael Armbrust] don't call dataType until checking if children are resolved.
      2ab5a32 [Michael Armbrust] stop using uberjar as it has its own set of issues.
      e42f75a [Michael Armbrust] Merge remote-tracking branch 'origin/master' into HEAD
      c086a35 [Michael Armbrust] docs, spacing
      c4060e4 [Michael Armbrust] cleanup
      3b85462 [Michael Armbrust] more tests passing
      bcfc8c5 [Michael Armbrust] start supporting partition attributes when inserting data.
      c944a95 [Michael Armbrust] First aggregate expression.
      1e28311 [Michael Armbrust] make tests execute in alpha order again
      a287481 [Michael Armbrust] spelling
      8492548 [Michael Armbrust] beginning of UNIQUEJOIN parsing.
      a6ab6c7 [Michael Armbrust] add !=
      4529594 [Michael Armbrust] draft of coalesce
      70f253f [Michael Armbrust] more tests passing!
      7349e7b [Michael Armbrust] initial support for test thrift table
      d3c9305 [Michael Armbrust] fix > 100 char line
      93b64b0 [Michael Armbrust] load test tables that are args to "DESCRIBE"
      06b2aba [Michael Armbrust] don't be case sensitive when fixing load paths
      6355d0e [Michael Armbrust] match actual return type of count with expected
      cda43ab [Michael Armbrust] don't throw an exception when one of the join tables is empty.
      fd4b096 [Michael Armbrust] fix casing of null strings as well.
      4632695 [Michael Armbrust] support for megastore bigint
      67b88cf [Michael Armbrust] more verbose debugging of evaluation return types
      c680e0d [Michael Armbrust] Failed string => number conversion should return null.
      2326be1 [Michael Armbrust] make getClauses case insensitive.
      dac2786 [Michael Armbrust] correctly handle null values when going from string to numeric types.
      045ac4b [Yin Huai] Merge remote-tracking branch 'upstream/master' into evalauteLiteralsInExpressions
      fb5ddfd [Michael Armbrust] move ViewExamples to examples/
      83833e8 [Michael Armbrust] more tests passing!
      47c98d6 [Michael Armbrust] add query tests for like and hash.
      1724c16 [Michael Armbrust] clear lines that contain last updated times.
      cfd6bbc [Michael Armbrust] Quick skipping of tests that we can't even parse.
      9b2642b [Michael Armbrust] make the blacklist support regexes
      1d50af6 [Michael Armbrust] more datatypes, fix nonserializable instance variables in udfs
      910e33e [Michael Armbrust] basic support for building an assembly jar.
      d55bb52 [Michael Armbrust] add local warehouse/metastore to gitignore.
      495d9dc [Michael Armbrust] Add an expression for when we decide to support LIKE natively instead of using the HIVE udf.
      65f4e69 [Michael Armbrust] remove incorrect comments
      0831a3c [Michael Armbrust] support for parsing some operator udfs.
      6c27aa7 [Michael Armbrust] more cast parsing.
      43db061 [Michael Armbrust] significant generalization of hive udf functionality.
      3fe24ec [Michael Armbrust] better implementation of 3vl in Evaluate, fix some > 100 char lines.
      e5690a6 [Michael Armbrust] add BinaryType
      adab892 [Michael Armbrust] Clear out functions that are created during tests when reset is called.
      d408021 [Michael Armbrust] support for printing out arrays in the output in the same form as hive (e.g., [e1, e1]).
      8d5f504 [Michael Armbrust] Example of schema RDD using scala's dynamic trait, resulting in a more standard ORM style of usage.
      21f0d91 [Michael Armbrust] Simple example of schemaRdd with scala filter function.
      0daaa0e [Michael Armbrust] Promote booleans that appear in comparisons.
      2b70abf [Michael Armbrust] true and false literals.
      ef8b0a5 [Michael Armbrust] more tests.
      14d070f [Michael Armbrust] add support for correctly extracting partition keys.
      0afbe73 [Yin Huai] Merge remote-tracking branch 'upstream/master' into evalauteLiteralsInExpressions
      69a0bd4 [Michael Armbrust] promote strings in predicates with number too.
      3946e31 [Michael Armbrust] don't build strings unless assertion fails.
      90c453d [Michael Armbrust] more tests passing!
      6e6417a [Michael Armbrust] correct handling of nulls in boolean logic and sorting.
      8000504 [Michael Armbrust] Improve type coercion.
      9087152 [Michael Armbrust] fix toString of Not.
      58b111c [Michael Armbrust] fix bad scaladoc tag.
      d5c05c6 [Michael Armbrust] For now, ignore the big data benchmark tests when the data isn't there.
      ac6376d [Michael Armbrust] Split out general shark query execution driver from test harness.
      1d0ae1e [Michael Armbrust] Switch from IndexSeq[Any] to Row interface that will allow us unboxed access to primitive types.
      d873b2b [Yin Huai] Remove numbers associated with test cases.
      8545675 [Yin Huai] Merge remote-tracking branch 'upstream/master' into evalauteLiteralsInExpressions
      b34a9eb [Michael Armbrust] Merge branch 'master' into filterPushDown
      d1e7b8e [Michael Armbrust] Update README.md
      c8b1553 [Michael Armbrust] Update README.md
      9307ef9 [Michael Armbrust] update list of passing tests.
      934c18c [Michael Armbrust] Filter out non-deterministic lines when comparing test answers.
      a045c9c [Michael Armbrust] SparkAggregate doesn't actually support sum right now.
      ae0024a [Yin Huai] update
      cf80545 [Yin Huai] Merge remote-tracking branch 'origin/evalauteLiteralsInExpressions' into evalauteLiteralsInExpressions
      21976ae [Yin Huai] update
      b4999fe [Yin Huai] Merge remote-tracking branch 'upstream/filterPushDown' into evalauteLiteralsInExpressions
      dedbf0c [Yin Huai] support Boolean literals
      eaac9e2 [Yin Huai] explain the limitation of the current EvaluateLiterals
      37817b5 [Yin Huai] add a comment to EvaluateLiterals.
      468667f [Yin Huai] First draft of literal evaluation in the optimization phase. TreeNode has been extended to support transform in the post order. So, for an expression, we can evaluate literal from the leaf nodes of this expression tree. For an attribute reference in the expression node, we just leave it as is.
      b1d1843 [Michael Armbrust] more work on big data benchmark tests.
      cc9a957 [Michael Armbrust] support for creating test tables outside of TestShark
      7d7fa9f [Michael Armbrust] support for create table as
      5f54f03 [Michael Armbrust] parsing for ASC
      d42b725 [Michael Armbrust] Sum of strings requires cast
      34b30fa [Michael Armbrust] not all attributes need to be bound (e.g. output attributes that are contained in non-leaf operators.)
      81659cb [Michael Armbrust] implement transform operator.
      5cd76d6 [Michael Armbrust] break up the file based test case code for reuse
      1031b65 [Michael Armbrust] support for case insensitive resolution.
      320df04 [Michael Armbrust] add snapshot repo for databricks (has shark/spark snapshots)
      b6f083e [Michael Armbrust] support for publishing scala doc to github from sbt
      d9d18b4 [Michael Armbrust] debug logging implicit.
      669089c [Yin Huai] support Boolean literals
      ef3321e [Yin Huai] explain the limitation of the current EvaluateLiterals
      73a05fd [Yin Huai] add a comment to EvaluateLiterals.
      191eb7d [Yin Huai] First draft of literal evaluation in the optimization phase. TreeNode has been extended to support transform in the post order. So, for an expression, we can evaluate literal from the leaf nodes of this expression tree. For an attribute reference in the expression node, we just leave it as is.
      80039cc [Yin Huai] Merge pull request #1 from yhuai/master
      cbe1ca1 [Yin Huai] add explicit result type to the overloaded sideBySide
      5c518e4 [Michael Armbrust] fix bug in test.
      b50dd0e [Michael Armbrust] fix return type of overloaded method
      05679b7 [Michael Armbrust] download assembly jar for easy compiling during interview.
      8c60cc0 [Michael Armbrust] Update README.md
      03b9526 [Michael Armbrust] First draft of optimizer tests.
      f392755 [Michael Armbrust] Add flatMap to TreeNode
      6cbe8d1 [Michael Armbrust] fix bug in side by side, add support for working with unsplit strings
      15a53fc [Michael Armbrust] more generic sum calculation and better binding of grouping expressions.
      06749d0 [Michael Armbrust] add expression enumerations for query plan operators and recursive version of transform expression.
      4b0a888 [Michael Armbrust] implement string comparison and more casts.
      356b321 [Michael Armbrust] Update README.md
      3776395 [Michael Armbrust] Update README.md
      304d17d [Michael Armbrust] Create README.md
      b7d8be0 [Michael Armbrust] more tests passing.
      b82481f [Michael Armbrust] add todo comment.
      02e6dee [Michael Armbrust] add another test that breaks the harness to the blacklist.
      cc5efe3 [Michael Armbrust] First draft of broadcast nested loop join with full outer support.
      c43a259 [Michael Armbrust] comments
      15ff448 [Michael Armbrust] better error message when a dsl test throws an exception
      76ec650 [Michael Armbrust] fix join conditions
      e10df99 [Michael Armbrust] Create new expr ids for local relations that exist more than once in a query plan.
      91573a4 [Michael Armbrust] initial type promotion
      e2ef4a5 [Michael Armbrust] logging
      e43dc1e [Michael Armbrust] add string => int cast evaluation
      f1f7e96 [Michael Armbrust] fix incorrect generation of join keys
      2b27230 [Michael Armbrust] add depth based subtree access
      0f6279f [Michael Armbrust] broken tests.
      389bc0b [Michael Armbrust] support for partitioned columns in output.
      12584f4 [Michael Armbrust] better errors for missing clauses. support for matching multiple clauses with the same name.
      b67a225 [Michael Armbrust] better errors when types don't match up.
      9e74808 [Michael Armbrust] add children resolved.
      6d03ce9 [Michael Armbrust] defaults for unresolved relation
      2469b00 [Michael Armbrust] skip nodes with unresolved children when doing coersions
      be5ae2c [Michael Armbrust] better resolution logging
      cb7b5af [Michael Armbrust] views example
      420e05b [Michael Armbrust] more tests passing!
      6916c63 [Michael Armbrust] Reading from partitioned hive tables.
      a1245f9 [Michael Armbrust] more tests passing
      956e760 [Michael Armbrust] extended explain
      5f14c35 [Michael Armbrust] more test tables supported
      175c43e [Michael Armbrust] better errors for parse exceptions
      480ade5 [Michael Armbrust] don't use partial cached results.
      8a9d21c [Michael Armbrust] fix evaluation
      7aee69c [Michael Armbrust] parsing for joins, boolean logic
      7fcf480 [Michael Armbrust] test for and logic
      3ea9b00 [Michael Armbrust] don't use simpleString if there are no new lines.
      6902490 [Michael Armbrust] fix boolean logic evaluation
      4d5eba7 [Michael Armbrust] add more dsl for expression arithmetic and boolean logic
      8b2a2ee [Michael Armbrust] more tests passing!
      ad1f3b4 [Michael Armbrust] toString for null literals
      a5c0a1b [Michael Armbrust] more test harness improvements: * regex whitelist * side by side answer comparison (still needs formatting work)
      60ec19d [Michael Armbrust] initial support for udfs
      c45b440 [Michael Armbrust] support for is (not) null and boolean logic
      7f4a1dc [Michael Armbrust] add NoRelation logical operator
      72e183b [Michael Armbrust] support for null values in tree node args.
      ad596d2 [Michael Armbrust] add sc to Union's otherCopyArgs
      e5c9d1a [Michael Armbrust] use nonEmpty
      dcc4fe1 [Michael Armbrust] support for src1 test table.
      c78b587 [Michael Armbrust] casting.
      75c3f3f [Michael Armbrust] add support for logging with scalalogging.
      da2c011 [Michael Armbrust] make it more obvious when results are being truncated.
      96b73ba [Michael Armbrust] more docs in TestShark
      18524fd [Michael Armbrust] add method to SharkSqlQuery for directly executing the same query on hive.
      e6d063b [Michael Armbrust] more join tests.
      664c1c3 [Michael Armbrust] make parsing of function names case insensitive.
      0967d4e [Michael Armbrust] fix hardcoded path to hiveDevHome.
      1a6db68 [Michael Armbrust] spelling
      7638cb4 [Michael Armbrust] simple join execution with dsl tests.  no hive tests yes.
      859d4c9 [Michael Armbrust] better argString printing of nested trees.
      fc53615 [Michael Armbrust] add same instance comparisons for tree nodes.
      a026e6b [Michael Armbrust] move out hive specific operators
      fff4d1c [Michael Armbrust] add simple query execution debugging
      e2120ab [Michael Armbrust] sorting for strings
      da06eb6 [Michael Armbrust] Parsing for sortby and joins
      9eb5c5e [Michael Armbrust] override equality in Attribute references to compare exprId.
      8eb2460 [Michael Armbrust] add system property to override whitelist.
      88124bb [Michael Armbrust] make strategy evaluation lazy.
      74a3a21 [Michael Armbrust] implement outputSet
      d25b171 [Michael Armbrust] Add AND and OR expressions
      67f0a4a [Michael Armbrust] dsl improvements: string to attribute, subquery, unionAll
      12acf0a [Michael Armbrust] add .DS_Store for macs
      f7da6ce [Michael Armbrust] add agg with grouping expr in select test
      36805b3 [Michael Armbrust] pull out and improve aggregation
      75613e1 [Michael Armbrust] better evaluations failure messages.
      4789a35 [Michael Armbrust] weaken type since its hard to create pure references.
      e89dd36 [Michael Armbrust] no newline for online trees
      d0590d4 [Michael Armbrust] include stack trace for catalyst failures.
      081c0d9 [Michael Armbrust] more generic computation of agg functions.
      31af3a0 [Michael Armbrust] fail when clauses are unhandeled in the parser
      ecd45b2 [Michael Armbrust] Add more passing tests.
      97d5419 [Michael Armbrust] fix alignment.
      565cc13 [Michael Armbrust] make the canary query optional.
      a95e65c [Michael Armbrust] support for resolving qualified attribute references.
      e1dfa0c [Michael Armbrust] better error reporting for comparison tests when hive works but catalyst fails.
      4640a0b [Michael Armbrust] handle test tables when database is specified.
      bef12e3 [Michael Armbrust] Add Subquery node and trivial optimizer to remove it after analysis.
      fec5158 [Michael Armbrust] add hive / idea files to .gitignore
      3f97ffe [Michael Armbrust] Rename Hive => HiveQl
      656b836 [Michael Armbrust] Support for parsing select clause aliases.
      3ca7414 [Michael Armbrust] StopAfter needs otherCopyArgs.
      3ffde66 [Michael Armbrust] When the child of an alias is unresolved it should return an unresolved attribute instead of throwing an exception.
      8cbef8a [Michael Armbrust] spelling
      aa8c37c [Michael Armbrust] Better toString for SortOrder
      1bb8b45 [Michael Armbrust] fix error message for UnresolvedExceptions
      a2e0327 [Michael Armbrust] add a bunch of tests.
      4a3e1ea [Michael Armbrust] docs and use shark for data loading.
      339bb8f [Michael Armbrust] better docs, Not support
      1d7b2d9 [Michael Armbrust] Add NaN conversions.
      46a2534 [Michael Armbrust] only run canary query on failure.
      8996066 [Michael Armbrust] remove protected from makeCopy
      53bcf41 [Michael Armbrust] testing improvements: * reset hive vars * delete indexes and tables * delete database * reset to use default database * record tests that pass
      04a372a [Michael Armbrust] add a flag for running all tests.
      3b2235b [Michael Armbrust] More general implementation of arithmetic.
      edd7795 [Michael Armbrust] More testing improvements: * Check that results match for native commands * Ensure explain commands can be planned * Cache hive "golden" results
      da6c577 [Michael Armbrust] add string <==> file utility functions.
      3adf5ca [Michael Armbrust] Initial support for groupBy and count.
      7bcd8a4 [Michael Armbrust] Improvements to comparison tests: * Sort answer when query doesn't contain an order by. * Display null values the same as Hive. * Print full query results in easy to read format when they differ.
      a52e7c9 [Michael Armbrust] Transform children that are present in sequences of the product.
      d66ba7e [Michael Armbrust] drop printlns.
      88f2efd [Michael Armbrust] Add sum / count distinct expressions.
      05adedc [Michael Armbrust] rewrite relative paths when loading data in TestShark
      07784b3 [Michael Armbrust] add support for rewriting paths and running 'set' commands.
      b8a9910 [Michael Armbrust] quote tests passing.
      8e5e267 [Michael Armbrust] handle aliased select expressions.
      4286a96 [Michael Armbrust] drop debugging println
      ac34aeb [Michael Armbrust] proof of concept for hive ast transformations.
      2238b00 [Michael Armbrust] better error when makeCopy functions fails due to incorrect arguments
      ff1eab8 [Michael Armbrust] start trying to make insert into hive table more general.
      74a6337 [Michael Armbrust] use fastEquals when doing transformations.
      1184a23 [Michael Armbrust] add native test for escapes.
      b972b18 [Michael Armbrust] create BaseRelation class
      fa6bce9 [Michael Armbrust] implement union
      6391a87 [Michael Armbrust] count aggregate.
      d47c317 [Michael Armbrust] add unary minus, more tests passing.
      c7114e4 [Michael Armbrust] first draft of star expansion.
      044c43d [Michael Armbrust] better support for numeric literal parsing.
      1d0f072 [Michael Armbrust] use native drop table as it doesn't appear to fail when the "table" is actually a view.
      61503c5 [Michael Armbrust] add cached toRdd
      2036883 [Michael Armbrust] skip explain queries when testing.
      ebac4b1 [Michael Armbrust] fix bug in sort reference calculation
      ca0dee0 [Michael Armbrust] docs.
      1ee0471 [Michael Armbrust] string literal parsing.
      357278b [Michael Armbrust] add limit support
      9b3e479 [Michael Armbrust] creation of string literals.
      02efa30 [Michael Armbrust] alias evaluation
      cb68b33 [Michael Armbrust] parsing for random sample in hive ql.
      126dd36 [Michael Armbrust] include query plans in failure output
      bb59ae9 [Michael Armbrust] doc fixes
      7e68286 [Michael Armbrust] fix confusing naming
      768bb25 [Michael Armbrust] handle errors in shark query toString
      829c3ce [Michael Armbrust] Auto loading of test data on demand. Add reset method to test shark.  Make test shark a singleton to avoid weirdness with the hive megastore.
      ad02e41 [Michael Armbrust] comment jdo dependency
      7bc89fe [Michael Armbrust] add collect to TreeNode.
      438cf74 [Michael Armbrust] create explicit treeString function in addition to toString override. docs.
      09679ee [Michael Armbrust] fix bug in TreeNode foreach
      2930b27 [Michael Armbrust] more specific name for del query tests.
      8842549 [Michael Armbrust] docs.
      da81f81 [Michael Armbrust] Implementation and tests for simple AVG query in Hive SQL.
      a8969b9 [Michael Armbrust] Factor out hive query comparison test framework.
      1a7efb0 [Michael Armbrust] specialize spark aggregate for global aggregations.
      a36dd9a [Michael Armbrust] evaluation for other > data types.
      cae729b [Michael Armbrust] remove unnecessary lazy vals.
      d8e12af [Michael Armbrust] docs
      3a60d67 [Michael Armbrust] implement average, placeholder for count
      f05c106 [Michael Armbrust] checkAnswer handles single row results.
      2730534 [Michael Armbrust] implement inputSet
      a9aa79d [Michael Armbrust] debugging for sort exec
      8bec3c9 [Michael Armbrust] better tree makeCopy when there are two constructors.
      554b4b2 [Michael Armbrust] BoundAttribute pretty printing.
      754f5fa [Michael Armbrust] dsl for setting nullability
      a206d7a [Michael Armbrust] clean up query tests.
      84ad6ef [Michael Armbrust] better sort implementation and tests.
      de24923 [Michael Armbrust] add double type.
      9611a2c [Michael Armbrust] literal creation for doubles.
      7358313 [Michael Armbrust] sort order returns child type.
      b544715 [Michael Armbrust] implement eval for rand, and > for doubles
      7013bad [Michael Armbrust] asc, desc should work for expressions and unresolved attributes (symbols)
      1c1a35e [Michael Armbrust] add simple Rand expression.
      3ca51de [Michael Armbrust] add orderBy to dsl
      7ae41ab [Michael Armbrust] more literal implicit conversions
      b18b675 [Michael Armbrust] First cut at native query tests for shark.
      d392e29 [Michael Armbrust] add toRdd implicit conversion for logical plans in TestShark.
      5eac895 [Michael Armbrust] better error when descending is specified.
      2b16f86 [Michael Armbrust] add todo
      e527bb8 [Michael Armbrust] remove arguments to binary predicate constructor as they seem to break serialization
      9dde3c8 [Michael Armbrust] add project and filter operations.
      ad9037b [Michael Armbrust] Add support for local relations.
      6227143 [Michael Armbrust] evaluation of Equals.
      7526290 [Michael Armbrust] BoundReference should also be an Attribute.
      bd33e26 [Michael Armbrust] more documentation
      5de0ea3 [Michael Armbrust] Move all shark specific into a separate package.  Lots of documentation improvements.
      0ae292b [Michael Armbrust] implement calculation of sort expressions.
      9fd5011 [Michael Armbrust] First cut at expression evaluation.
      6259e3a [Michael Armbrust] cleanup
      787e5a2 [Michael Armbrust] use fastEquals
      f90da36 [Michael Armbrust] better printing of optimization exceptions
      b05dd67 [Michael Armbrust] Application of rules to fixed point.
      bb2e0db [Michael Armbrust] pretty print for literals.
      1ec3287 [Michael Armbrust] Add extractor for IntegerLiterals.
      d3a3687 [Michael Armbrust] add fastEquals
      2b4935b [Michael Armbrust] set sbt.version explicitly
      46dfd7f [Michael Armbrust] first cut at checking answer for HiveCompatability tests.
      c79f2fd [Michael Armbrust] insert operator should return an empty rdd.
      14c22ec [Michael Armbrust] implement sorting when the sort expression is the first attribute of the input.
      ae7b4c3 [Michael Armbrust] remove implicit dependencies.  now compiles without copying things into lib/ manually.
      84082f9 [Michael Armbrust] add sbt binaries and scripts
      15371a8 [Michael Armbrust] First draft of simple Hive DDL parser.
      063bf44 [Michael Armbrust] Periods should end all comments.
      e1f7f4c [Michael Armbrust] Remove "NativePlaceholder" hack.
      ed3633e [Michael Armbrust] start consolidating Hive/Shark specific code. first hive compatibility test case passing!
      b34a770 [Michael Armbrust] Add data sink strategy, make strategy application a little more robust.
      e7174ec [Michael Armbrust] fix schema, add docs, make helper method protected.
      26f410a [Michael Armbrust] physical traits should extend PhysicalPlan.
      dc72469 [Michael Armbrust] beginning of hive compatibility testing framework.
      0763490 [Michael Armbrust] support for hive native command pass-through.
      d8a924f [Michael Armbrust] scaladoc
      29a7163 [Michael Armbrust] Insert into hive table physical operator.
      633cebc [Michael Armbrust] better error message when there is no appropriate planning strategy.
      59ac444 [Michael Armbrust] add unary expression
      3aa1b28 [Michael Armbrust] support for table names in the form 'database.tableName'
      665f7d0 [Michael Armbrust] add logical nodes for hive data sinks.
      64d2923 [Michael Armbrust] Add classes for representing sorts.
      f72b7ce [Michael Armbrust] first trivial end to end query execution.
      5c7d244 [Michael Armbrust] first draft of references implementation.
      7bff274 [Michael Armbrust] point at new shark.
      c7cd57f [Michael Armbrust] docs for util function.
      910811c [Michael Armbrust] check each item of the sequence
      ef21a0b [Michael Armbrust] line up comments.
      4b765d5 [Michael Armbrust] docs, drop println
      6f9bafd [Michael Armbrust] empty output for unresolved relation to avoid exception in resolution.
      a703c49 [Michael Armbrust] this order works better until fixed point is implemented.
      ec1d7c0 [Michael Armbrust] Simple attribute resolution.
      069df02 [Michael Armbrust] parsing binary predicates
      a1cf754 [Michael Armbrust] add joins and equality.
      3f5bc98 [Michael Armbrust] add optiq to sbt.
      54f3460 [Michael Armbrust] initial optiq parsing.
      d9161ce [Michael Armbrust] add join operator
      1e423eb [Michael Armbrust] placeholders in LogicalPlan, docs
      24ef6fb [Michael Armbrust] toString for alias.
      ae7d776 [Michael Armbrust] add nullability changing function
      d49dc02 [Michael Armbrust] scaladoc for named exprs
      7c45dd7 [Michael Armbrust] pretty printing of trees.
      78e34bf [Michael Armbrust] simple git ignore.
      7ba19be [Michael Armbrust] First draft of interface to hive metastore.
      7e7acf0 [Michael Armbrust] physical placeholder.
      1c11136 [Michael Armbrust] first draft of error handling / plans for debugging.
      3766a41 [Michael Armbrust] rearrange utility functions.
      7fb3d5e [Michael Armbrust] docs and equality improvements.
      45da47b [Michael Armbrust] flesh out plans and expressions a little. first cut at named expressions.
      002d4d4 [Michael Armbrust] default to no alias.
      be25003 [Michael Armbrust] add repl initialization to sbt.
      0608a00 [Michael Armbrust] tighten public interface
      a1a8b38 [Michael Armbrust] test that ids don't change for no-op transforms.
      daa71ca [Michael Armbrust] foreach, maps, and scaladoc
      6a158cb [Michael Armbrust] simple transform working.
      db0299f [Michael Armbrust] basic analysis of relations minus transform function.
      f74c4ee [Michael Armbrust] parsing a simple query.
      08e4f57 [Michael Armbrust] upgrade scala include shark.
      d3c6404 [Michael Armbrust] initial commit
      9aadcffa
    • Andrew Or's avatar
      [Hot Fix #42] Do not stop SparkUI if bind() is not called · ca76423e
      Andrew Or authored
      This is a bug fix for #42 (79d07d66).
      
      In Master, we do not bind() each SparkUI because we do not want to start a server for each finished application. However, when we remove the associated application, we call stop() on the SparkUI, which throws an assertion failure.
      
      This fix ensures we don't call stop() on a SparkUI that was never bind()'ed.
      
      Author: Andrew Or <andrewor14@gmail.com>
      
      Closes #188 from andrewor14/ui-fix and squashes the following commits:
      
      94a925f [Andrew Or] Do not stop SparkUI if bind() is not called
      ca76423e
    • Reza Zadeh's avatar
      Principal Component Analysis · 66a03e5f
      Reza Zadeh authored
      # Principal Component Analysis
      
      Computes the top k principal component coefficients for the m-by-n data matrix X. Rows of X correspond to observations and columns correspond to variables. The coefficient matrix is n-by-k. Each column of the coefficients return matrix contains coefficients for one principal component, and the columns are in descending order of component variance. This function centers the data and uses the singular value decomposition (SVD) algorithm.
      
      ## Testing
      Tests included:
       * All principal components
       * Only top k principal components
       * Dense SVD tests
       * Dense/sparse matrix tests
      
      The results are tested against MATLAB's pca: http://www.mathworks.com/help/stats/pca.html
      
      ## Documentation
      Added to mllib-guide.md
      
      ## Example Usage
      Added to examples directory under SparkPCA.scala
      
      Author: Reza Zadeh <rizlar@gmail.com>
      
      Closes #88 from rezazadeh/sparkpca and squashes the following commits:
      
      e298700 [Reza Zadeh] reformat using IDE
      3f23271 [Reza Zadeh] documentation and cleanup
      b025ab2 [Reza Zadeh] documentation
      e2667d4 [Reza Zadeh] assertMatrixApproximatelyEquals
      3787bb4 [Reza Zadeh] stylin
      c6ecc1f [Reza Zadeh] docs
      aa2bbcb [Reza Zadeh] rename sparseToTallSkinnyDense
      56975b0 [Reza Zadeh] docs
      2df9bde [Reza Zadeh] docs update
      8fb0015 [Reza Zadeh] rcond documentation
      dbf7797 [Reza Zadeh] correct argument number
      a9f1f62 [Reza Zadeh] documentation
      4ce6caa [Reza Zadeh] style changes
      9a56a02 [Reza Zadeh] use rcond relative to larget svalue
      120f796 [Reza Zadeh] housekeeping
      156ff78 [Reza Zadeh] string comprehension
      2e1cf43 [Reza Zadeh] rename rcond
      ea223a6 [Reza Zadeh] many style changes
      f4002d7 [Reza Zadeh] more docs
      bd53c7a [Reza Zadeh] proper accumulator
      a8b5ecf [Reza Zadeh] Don't use for loops
      0dc7980 [Reza Zadeh] filter zeros in sparse
      6115610 [Reza Zadeh] More documentation
      36d51e8 [Reza Zadeh] use JBLAS for UVS^-1 computation
      bc4599f [Reza Zadeh] configurable rcond
      86f7515 [Reza Zadeh] compute per parition, use while
      09726b3 [Reza Zadeh] more style changes
      4195e69 [Reza Zadeh] private, accumulator
      17002be [Reza Zadeh] style changes
      4ba7471 [Reza Zadeh] style change
      f4982e6 [Reza Zadeh] Use dense matrix in example
      2828d28 [Reza Zadeh] optimizations: normalize once, use inplace ops
      72c9fa1 [Reza Zadeh] rename DenseMatrix to TallSkinnyDenseMatrix, lean
      f807be9 [Reza Zadeh] fix typo
      2d7ccde [Reza Zadeh] Array interface for dense svd and pca
      cd290fa [Reza Zadeh] provide RDD[Array[Double]] support
      398d123 [Reza Zadeh] style change
      55abbfa [Reza Zadeh] docs fix
      ef29644 [Reza Zadeh] bad chnage undo
      472566e [Reza Zadeh] all files from old pr
      555168f [Reza Zadeh] initial files
      66a03e5f
  7. Mar 19, 2014
    • Aaron Davidson's avatar
      Revert "SPARK-1099:Spark's local mode should probably respect spark.cores.max by default" · ffe272d9
      Aaron Davidson authored
      This reverts commit 16789317. Jenkins was not run for this PR.
      ffe272d9
    • qqsun8819's avatar
      SPARK-1099:Spark's local mode should probably respect spark.cores.max by default · 16789317
      qqsun8819 authored
      This is for JIRA:https://spark-project.atlassian.net/browse/SPARK-1099
      And this is what I do in this patch (also commented in the JIRA) @aarondav
      
       This is really a behavioral change, so I do this with great caution, and welcome any review advice:
      
      1 I change the "MASTER=local" pattern of create LocalBackEnd . In the past, we passed 1 core to it . now it use a default cores
      The reason here is that when someone use spark-shell to start local mode , Repl will use this "MASTER=local" pattern as default.
      So if one also specify cores in the spark-shell command line, it will all go in here. So here pass 1 core is not suitalbe reponding to our change here.
      2 In the LocalBackEnd , the "totalCores" variable are fetched following a different rule(in the past it just take in a userd passed cores, like 1 in "MASTER=local" pattern, 2 in "MASTER=local[2]" pattern"
      rules:
      a The second argument of LocalBackEnd 's constructor indicating cores have a default value which is Int.MaxValue. If user didn't pass it , its first default value is Int.MaxValue
      b In getMaxCores, we first compare the former value to Int.MaxValue. if it's not equal, we think that user has passed their desired value, so just use it
      c. If b is not satified, we then get cores from spark.cores.max, and we get real logical cores from Runtime. And if cores specified by spark.cores.max is bigger than logical cores, we use logical cores, otherwise we use spark.cores.max
      3 In SparkContextSchedulerCreationSuite 's test("local") case, assertion is modified from 1 to logical cores, because "MASTER=local" pattern use default vaules.
      
      Author: qqsun8819 <jin.oyj@alibaba-inc.com>
      
      Closes #110 from qqsun8819/local-cores and squashes the following commits:
      
      731aefa [qqsun8819] 1 LocalBackend not change 2 In SparkContext do some process to the cores and pass it to original LocalBackend constructor
      78b9c60 [qqsun8819] 1 SparkContext MASTER=local pattern use default cores instead of 1 to construct LocalBackEnd , for use of spark-shell and cores specified in cmd line 2 some test case change from local to local[1]. 3 SparkContextSchedulerCreationSuite test spark.cores.max config in local pattern
      6ae1ee8 [qqsun8819] Add a static function in LocalBackEnd to let it use spark.cores.max specified cores when no cores are passed to it
      16789317
    • Jyotiska NK's avatar
      Added doctest for map function in rdd.py · 67fa71cb
      Jyotiska NK authored
      Doctest added for map in rdd.py
      
      Author: Jyotiska NK <jyotiska123@gmail.com>
      
      Closes #177 from jyotiska/pyspark_rdd_map_doctest and squashes the following commits:
      
      a38527f [Jyotiska NK] Added doctest for map function in rdd.py
      67fa71cb
    • Andrew Or's avatar
      [SPARK-1132] Persisting Web UI through refactoring the SparkListener interface · 79d07d66
      Andrew Or authored
      The fleeting nature of the Spark Web UI has long been a problem reported by many users: The existing Web UI disappears as soon as the associated application terminates. This is because SparkUI is tightly coupled with SparkContext, and cannot be instantiated independently from it. To solve this, some state must be saved to persistent storage while the application is still running.
      
      The approach taken by this PR involves persisting the UI state through SparkListenerEvents. This requires a major refactor of the SparkListener interface because existing events (1) maintain deep references, making de/serialization is difficult, and (2) do not encode all the information displayed on the UI. In this design, each existing listener for the UI (e.g. ExecutorsListener) maintains state that can be fully constructed from SparkListenerEvents. This state is then supplied to the parent UI (e.g. ExecutorsUI), which renders the associated page(s) on demand.
      
      This PR introduces two important classes: the **EventLoggingListener**, and the **ReplayListenerBus**. In a live application, SparkUI registers an EventLoggingListener with the SparkContext in addition to the existing listeners. Over the course of the application, this listener serializes and logs all events to persisted storage. Then, after the application has finished, the SparkUI can be revived by replaying all the logged events to the existing UI listeners through the ReplayListenerBus.
      
      This feature is currently integrated with the Master Web UI, which optionally rebuilds a SparkUI from event logs as soon as the corresponding application finishes.
      
      More details can be found in the commit messages, comments within the code, and the [design doc](https://spark-project.atlassian.net/secure/attachment/12900/PersistingSparkWebUI.pdf). Comments and feedback are most welcome.
      
      Author: Andrew Or <andrewor14@gmail.com>
      Author: andrewor14 <andrewor14@gmail.com>
      
      Closes #42 from andrewor14/master and squashes the following commits:
      
      e5f14fa [Andrew Or] Merge github.com:apache/spark
      a1c5cd9 [Andrew Or] Merge github.com:apache/spark
      b8ba817 [Andrew Or] Remove UI from map when removing application in Master
      83af656 [Andrew Or] Scraps and pieces (no functionality change)
      222adcd [Andrew Or] Merge github.com:apache/spark
      124429f [Andrew Or] Clarify LiveListenerBus behavior + Add tests for new behavior
      f80bd31 [Andrew Or] Simplify static handler and BlockManager status update logic
      9e14f97 [Andrew Or] Moved around functionality + renamed classes per Patrick
      6740e49 [Andrew Or] Fix comment nits
      650eb12 [Andrew Or] Add unit tests + Fix bugs found through tests
      45fd84c [Andrew Or] Remove now deprecated test
      c5c2c8f [Andrew Or] Remove list of (TaskInfo, TaskMetrics) from StageInfo
      3456090 [Andrew Or] Address Patrick's comments
      bf80e3d [Andrew Or] Imports, comments, and code formatting, once again (minor)
      ac69ec8 [Andrew Or] Fix test fail
      d801d11 [Andrew Or] Merge github.com:apache/spark (major)
      dc93915 [Andrew Or] Imports, comments, and code formatting (minor)
      77ba283 [Andrew Or] Address Kay's and Patrick's comments
      b6eaea7 [Andrew Or] Treating SparkUI as a handler of MasterUI
      d59da5f [Andrew Or] Avoid logging all the blocks on each executor
      d6e3b4a [Andrew Or] Merge github.com:apache/spark
      ca258a4 [Andrew Or] Master UI - add support for reading compressed event logs
      176e68e [Andrew Or] Fix deprecated message for JavaSparkContext (minor)
      4f69c4a [Andrew Or] Master UI - Rebuild SparkUI on application finish
      291b2be [Andrew Or] Correct directory in log message "INFO: Logging events to <dir>"
      1ba3407 [Andrew Or] Add a few configurable options to event logging
      e375431 [Andrew Or] Add new constructors for SparkUI
      18b256d [Andrew Or] Refactor out event logging and replaying logic from UI
      bb4c503 [Andrew Or] Use a more mnemonic path for logging
      aef411c [Andrew Or] Fix bug: storage status was not reflected on UI in the local case
      03eda0b [Andrew Or] Fix HDFS flush behavior
      36b3e5d [Andrew Or] Add HDFS support for event logging
      cceff2b [andrewor14] Fix 100 char format fail
      2fee310 [Andrew Or] Address Patrick's comments
      2981d61 [Andrew Or] Move SparkListenerBus out of DAGScheduler + Clean up
      5d2cec1 [Andrew Or] JobLogger: ID -> Id
      0503e4b [Andrew Or] Fix PySpark tests + remove sc.clearFiles/clearJars
      4d2fb0c [Andrew Or] Fix format fail
      faa113e [Andrew Or] General clean up
      d47585f [Andrew Or] Clean up FileLogger
      472fd8a [Andrew Or] Fix a couple of tests
      996d7a2 [Andrew Or] Reflect RDD unpersist on UI
      7b2f811 [Andrew Or] Guard against TaskMetrics NPE + Fix tests
      d1f4285 [Andrew Or] Migrate from lift-json to json4s-jackson
      28019ca [Andrew Or] Merge github.com:apache/spark
      bbe3501 [Andrew Or] Embed storage status and RDD info in Task events
      6631c02 [Andrew Or] More formatting changes, this time mainly for Json DSL
      70e7e7a [Andrew Or] Formatting changes
      e9e1c6d [Andrew Or] Move all JSON de/serialization logic to JsonProtocol
      d646df6 [Andrew Or] Completely decouple SparkUI from SparkContext
      6814da0 [Andrew Or] Explicitly register each UI listener rather than through some magic
      64d2ce1 [Andrew Or] Fix BlockManagerUI bug by introducing new event
      4273013 [Andrew Or] Add a gateway SparkListener to simplify event logging
      904c729 [Andrew Or] Fix another major bug
      5ac906d [Andrew Or] Mostly naming, formatting, and code style changes
      3fd584e [Andrew Or] Fix two major bugs
      f3fc13b [Andrew Or] General refactor
      4dfcd22 [Andrew Or] Merge git://git.apache.org/incubator-spark into persist-ui
      b3976b0 [Andrew Or] Add functionality of reconstructing a persisted UI from SparkContext
      8add36b [Andrew Or] JobProgressUI: Add JSON functionality
      d859efc [Andrew Or] BlockManagerUI: Add JSON functionality
      c4cd480 [Andrew Or] Also deserialize new events
      8a2ebe6 [Andrew Or] Fix bugs for EnvironmentUI and ExecutorsUI
      de8a1cd [Andrew Or] Serialize events both to and from JSON (rather than just to)
      bf0b2e9 [Andrew Or] ExecutorUI: Serialize events rather than arbitary executor information
      bb222b9 [Andrew Or] ExecutorUI: render completely from JSON
      dcbd312 [Andrew Or] Add JSON Serializability for all SparkListenerEvent's
      10ed49d [Andrew Or] Merge github.com:apache/incubator-spark into persist-ui
      8e09306 [Andrew Or] Use JSON for ExecutorsUI
      e3ae35f [Andrew Or] Merge github.com:apache/incubator-spark
      3ddeb7e [Andrew Or] Also privatize fields
      090544a [Andrew Or] Privatize methods
      13920c9 [Andrew Or] Update docs
      bd5a1d7 [Andrew Or] Typo: phyiscal -> physical
      287ef44 [Andrew Or] Avoid reading the entire batch into memory; also simplify streaming logic
      3df7005 [Andrew Or] Merge branch 'master' of github.com:andrewor14/incubator-spark
      a531d2e [Andrew Or] Relax assumptions on compressors and serializers when batching
      164489d [Andrew Or] Relax assumptions on compressors and serializers when batching
      79d07d66
    • Mridul Muralidharan's avatar
      Bugfixes/improvements to scheduler · ab747d39
      Mridul Muralidharan authored
      Move the PR#517 of apache-incubator-spark to the apache-spark
      
      Author: Mridul Muralidharan <mridul@gmail.com>
      
      Closes #159 from mridulm/master and squashes the following commits:
      
      5ff59c2 [Mridul Muralidharan] Change property in suite also
      167fad8 [Mridul Muralidharan] Address review comments
      9bda70e [Mridul Muralidharan] Address review comments, akwats add to failedExecutors
      270d841 [Mridul Muralidharan] Address review comments
      fa5d9f1 [Mridul Muralidharan] Bugfixes/improvements to scheduler : PR #517
      ab747d39
    • Thomas Graves's avatar
      SPARK-1203 fix saving to hdfs from yarn · 6112270c
      Thomas Graves authored
      Author: Thomas Graves <tgraves@apache.org>
      
      Closes #173 from tgravescs/SPARK-1203 and squashes the following commits:
      
      4fd5ded [Thomas Graves] adding import
      964e3f7 [Thomas Graves] SPARK-1203 fix saving to hdfs from yarn
      6112270c
    • shiyun.wxm's avatar
      bugfix: Wrong "Duration" in "Active Stages" in stages page · d55ec86d
      shiyun.wxm authored
      If a stage which has completed once loss parts of data, it will be resubmitted. At this time, it appears that stage.completionTime > stage.submissionTime.
      
      Author: shiyun.wxm <shiyun.wxm@taobao.com>
      
      Closes #170 from BlackNiuza/duration_problem and squashes the following commits:
      
      a86d261 [shiyun.wxm] tow space indent
      c0d7b24 [shiyun.wxm] change the style
      3b072e1 [shiyun.wxm] fix scala style
      f20701e [shiyun.wxm] bugfix: "Duration" in "Active Stages" in stages page
      d55ec86d
    • Nick Lanham's avatar
      Bundle tachyon: SPARK-1269 · a18ea00f
      Nick Lanham authored
      This should all work as expected with the current version of the tachyon tarball (0.4.1)
      
      Author: Nick Lanham <nick@afternight.org>
      
      Closes #137 from nicklan/bundle-tachyon and squashes the following commits:
      
      2eee15b [Nick Lanham] Put back in exec, start tachyon first
      738ba23 [Nick Lanham] Move tachyon out of sbin
      f2f9bc6 [Nick Lanham] More checks for tachyon script
      111e8e1 [Nick Lanham] Only try tachyon operations if tachyon script exists
      0561574 [Nick Lanham] Copy over web resources so web interface can run
      4dc9809 [Nick Lanham] Update to tachyon 0.4.1
      0a1a20c [Nick Lanham] Add scripts using tachyon tarball
      a18ea00f
Loading