Skip to content

[SPARK-25753][CORE][2.4] Fix reading small files via BinaryFileRDD - #26026

Closed
dhruve wants to merge 1 commit into
apache:branch-2.4from
dhruve:fix/SPARK-25753/2.4
Closed

[SPARK-25753][CORE][2.4] Fix reading small files via BinaryFileRDD#26026
dhruve wants to merge 1 commit into
apache:branch-2.4from
dhruve:fix/SPARK-25753/2.4

Conversation

@dhruve

@dhruvedhruve commented Oct 4, 2019

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

This is a clean cherry pick of #22725 from master to 2.4

This is a follow up of #21601, StreamFileInputFormat and WholeTextFileInputFormat have the same problem.

Minimum split size pernode 5123456 cannot be larger than maximum split size 4194304 java.io.IOException: Minimum split size pernode 5123456 cannot be larger than maximum split size 4194304 at org.apache.hadoop.mapreduce.lib.input.CombineFileInputFormat.getSplits(CombineFileInputFormat.java: 201) at org.apache.spark.rdd.BinaryFileRDD.getPartitions(BinaryFileRDD.scala:52) at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:254) at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:252) at scala.Option.getOrElse(Option.scala:121) at org.apache.spark.rdd.RDD.partitions(RDD.scala:252) at org.apache.spark.SparkContext.runJob(SparkContext.scala:2138)

Why are the changes needed?

This is an existing bug which was fixed in master, but not back ported to 2.4.

Does this PR introduce any user-facing change?

No

How was this patch tested?

The original patch added a unit test.

Ran the unit test that was added in the original patch and manually verified the changes by creating a multiline csv and loading it in spark shell.

## What changes were proposed in this pull request?
This is a follow up of apache#21601, `StreamFileInputFormat` and `WholeTextFileInputFormat` have the same problem.
`Minimum split size pernode 5123456 cannot be larger than maximum split size 4194304
java.io.IOException: Minimum split size pernode 5123456 cannot be larger than maximum split size 4194304
at org.apache.hadoop.mapreduce.lib.input.CombineFileInputFormat.getSplits(CombineFileInputFormat.java: 201)
at org.apache.spark.rdd.BinaryFileRDD.getPartitions(BinaryFileRDD.scala:52)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:254)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:252)
at scala.Option.getOrElse(Option.scala:121)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:252)
at org.apache.spark.SparkContext.runJob(SparkContext.scala:2138)`
## How was this patch tested?
Added a unit test
Closesapache#22725 from 10110346/maxSplitSize_node_rack.
Authored-by: liuxian <liu.xian3@zte.com.cn>
Signed-off-by: Thomas Graves <tgraves@apache.org>
@dhruve

Copy link
Copy Markdown
ContributorAuthor

@SparkQA

Copy link
Copy Markdown

Test build #111782 has finished for PR 26026 at commit 27acb89.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@tgravescs

Copy link
Copy Markdown
Contributor

@dhruve can you update the description to say cherry-pick #22725 and move the How the patch was tested down to fit the format of the new PR template and put any additional info about testing that you did.

@dhruvedhruve changed the title [SPARK-25753][CORE] fix reading small files via BinaryFileRDD[SPARK-25753][CORE] Cherry pick #22725 - fix reading small files via BinaryFileRDDOct 4, 2019

@srowensrowen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks OK as a cherry pick but yes update the description

@dhruve

Copy link
Copy Markdown
ContributorAuthor

Updated the description.

@dongjoon-hyundongjoon-hyun changed the title [SPARK-25753][CORE] Cherry pick #22725 - fix reading small files via BinaryFileRDD[SPARK-25753][CORE][2.4] Fix reading small files via BinaryFileRDDOct 4, 2019

@dongjoon-hyundongjoon-hyun left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, LGTM. Thank you, @dhruve , @tgravescs , @srowen .
Merged to branch-2.4.

dongjoon-hyun pushed a commit that referenced this pull request Oct 4, 2019
### What changes were proposed in this pull request?
This is a clean cherry pick of #22725 from master to 2.4
This is a follow up of #21601, `StreamFileInputFormat` and `WholeTextFileInputFormat` have the same problem.
`Minimum split size pernode 5123456 cannot be larger than maximum split size 4194304
java.io.IOException: Minimum split size pernode 5123456 cannot be larger than maximum split size 4194304
at org.apache.hadoop.mapreduce.lib.input.CombineFileInputFormat.getSplits(CombineFileInputFormat.java: 201)
at org.apache.spark.rdd.BinaryFileRDD.getPartitions(BinaryFileRDD.scala:52)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:254)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:252)
at scala.Option.getOrElse(Option.scala:121)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:252)
at org.apache.spark.SparkContext.runJob(SparkContext.scala:2138)`
### Why are the changes needed?
This is an existing bug which was fixed in master, but not back ported to 2.4.
### Does this PR introduce any user-facing change?
No
### How was this patch tested?
The original patch added a unit test.
Ran the unit test that was added in the original patch and manually verified the changes by creating a multiline csv and loading it in spark shell.
Closes#26026 from dhruve/fix/SPARK-25753/2.4.
Authored-by: liuxian <liu.xian3@zte.com.cn>
Signed-off-by: Dongjoon Hyun <dhyun@apple.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@dhruve@SparkQA@tgravescs@srowen@dongjoon-hyun@10110346