spark-instrumented-optimizer/python/pyspark/streaming
Davies Liu c3d2b90bde [SPARK-5785] [PySpark] narrow dependency for cogroup/join in PySpark
Currently, PySpark does not support narrow dependency during cogroup/join when the two RDDs have the partitioner, another unnecessary shuffle stage will come in.

The Python implementation of cogroup/join is different than Scala one, it depends on union() and partitionBy(). This patch will try to use PartitionerAwareUnionRDD() in union(), when all the RDDs have the same partitioner. It also fix `reservePartitioner` in all the map() or mapPartitions(), then partitionBy() can skip the unnecessary shuffle stage.

Author: Davies Liu <davies@databricks.com>

Closes #4629 from davies/narrow and squashes the following commits:

dffe34e [Davies Liu] improve test, check number of stages for join/cogroup
1ed3ba2 [Davies Liu] Merge branch 'master' of github.com:apache/spark into narrow
4d29932 [Davies Liu] address comment
cc28d97 [Davies Liu] add unit tests
940245e [Davies Liu] address comments
ff5a0a6 [Davies Liu] skip the partitionBy() on Python side
eb26c62 [Davies Liu] narrow dependency in PySpark
2015-02-17 16:54:57 -08:00
..
__init__.py [SPARK-2377] Python API for Streaming 2014-10-12 02:46:56 -07:00
context.py [SPARK-5379][Streaming] Add awaitTerminationOrTimeout 2015-02-04 00:40:28 -08:00
dstream.py [SPARK-5785] [PySpark] narrow dependency for cogroup/join in PySpark 2015-02-17 16:54:57 -08:00
kafka.py [SPARK-5154] [PySpark] [Streaming] Kafka streaming support in Python 2015-02-02 19:16:27 -08:00
tests.py [SPARK-4969][STREAMING][PYTHON] Add binaryRecords to streaming 2015-02-03 22:24:30 -08:00
util.py [SPARK-2377] Python API for Streaming 2014-10-12 02:46:56 -07:00