Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-3364

Zip equal-length but unequally-partition

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.0.2
    • Fix Version/s: 1.1.0
    • Component/s: Spark Core
    • Labels:
      None

      Description

      ZippedRDD losts some elements after zipping RDDs with equal numbers of partitions but unequal numbers of elements in their each partitions.
      This can happen when a user creates RDD by sc.textFile(path,partitionNumbers) with physically unbalanced HDFS file.

      var x = sc.parallelize(1 to 9,3)
      var y = sc.parallelize(Array(1,1,1,1,1,2,2,3,3),3).keyBy(i=>i)
      var z = y.partitionBy(new RangePartitioner(3,y))
      
      expected
      x.zip(y).count()
      9
      x.zip(y).collect()
      Array[(Int, (Int, Int))] = Array((1,(1,1)), (2,(1,1)), (3,(1,1)), (4,(1,1)), (5,(1,1)), (6,(2,2)), (7,(2,2)), (8,(3,3)), (9,(3,3)))
      
      unexpected
      x.zip(z).count()
      7
      x.zip(z).collect()
      Array[(Int, (Int, Int))] = Array((1,(1,1)), (2,(1,1)), (3,(1,1)), (4,(2,2)), (5,(2,2)), (7,(3,3)), (8,(3,3)))
      

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              kallsu Kevin Jung
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: