Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[HUDI-7576] Improve efficiency of getRelativePartitionPath, reduce computation of partitionPath in AbstractTableFileSystemView #11001

Merged
merged 8 commits into from
May 4, 2024

Conversation

the-other-tim-brown
Copy link
Contributor

Change Logs

  • Improve the efficiency of getRelativePartitionPath by reducing the number of operations on the path object that are required to get the final result
  • Reduce the number of times a partitionPath is computed by supplying a partition path argument where possible in the AbstractFileSystemView

Impact

Reduces overhead of building FSViews with large numbers of files

Risk level (write none, low medium or high below)

None

Documentation Update

Describe any necessary documentation update if there is any new feature, config, or user-facing change. If not, put "none".

  • The config description must be updated if new configs are added or the default value of the configs are changed
  • Any new feature or user-facing change requires updating the Hudi website. Please create a Jira ticket, attach the
    ticket number here and follow the instruction to make
    changes to the website.

Contributor's checklist

  • Read through contributor's guide
  • Change Logs and Impact were stated clearly
  • Adequate tests were added if applicable
  • CI passed

… partitionPath in AbstractTableFileSystemView
Copy link
Contributor

@danny0405 danny0405 left a comment

Choose a reason for hiding this comment

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

+1, I love this fix.

@danny0405
Copy link
Contributor

@the-other-tim-brown Can you fix the Azure CI failure?

@the-other-tim-brown
Copy link
Contributor Author

@danny0405 error is:

TestUpsertPartitioner.testUpsertPartitionerWithSmallFileHandlingPickingMultipleCandidates:470 expected: <[BucketInfo {bucketType=UPDATE, fileIdPrefix=fg-1, partitionPath=2016/03/15}, BucketInfo {bucketType=UPDATE, fileIdPrefix=fg-2, partitionPath=2016/03/15}, BucketInfo {bucketType=UPDATE, fileIdPrefix=fg-3, partitionPath=2016/03/15}]> but was: <[BucketInfo {bucketType=UPDATE, fileIdPrefix=fg-3, partitionPath=2016/03/15}, BucketInfo {bucketType=UPDATE, fileIdPrefix=fg-2, partitionPath=2016/03/15}, BucketInfo {bucketType=UPDATE, fileIdPrefix=fg-1, partitionPath=2016/03/15}]>

I'll put up a separate minor pr to make the ordering deterministic for small file handling

@the-other-tim-brown
Copy link
Contributor Author

@danny0405 #11008

@hudi-bot
Copy link

hudi-bot commented May 3, 2024

CI report:

Bot commands @hudi-bot supports the following commands:
  • @hudi-bot run azure re-run the last Azure build

@the-other-tim-brown
Copy link
Contributor Author

@danny0405 can you take another look when you get a chance? I have updated a few spots in the code

@danny0405 danny0405 merged commit 8911aa2 into apache:master May 4, 2024
46 checks passed
yihua pushed a commit that referenced this pull request May 15, 2024
…mputation of partitionPath in AbstractTableFileSystemView (#11001)
yihua pushed a commit that referenced this pull request May 15, 2024
…mputation of partitionPath in AbstractTableFileSystemView (#11001)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release-0.15.0 size:M PR with lines of changes in (100, 300]
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants