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

[BEAM-6428] Improve select performance with codegen #11025

Merged
merged 5 commits into from
Mar 4, 2020

Conversation

reuvenlax
Copy link
Contributor

@reuvenlax reuvenlax commented Mar 3, 2020

The schema select functionality is currently very inefficient - it walks through the schema resolution on each element selected in order to figure out how to properly distribute the select. Select is used by the select transform, but it is also used by the Group, Join, and any conversion transforms.

This PR analyzes the select predicate (e.g. a.b[].c.*), and generates bytecode to perform the select. All the schema resolution code that previously was done per element is now done once in order to determine what bytecode to generate.

@reuvenlax
Copy link
Contributor Author

run dataflow validatesrunner

@reuvenlax
Copy link
Contributor Author

run sql postcommit

@reuvenlax
Copy link
Contributor Author

run dataflow validatesrunner

@reuvenlax
Copy link
Contributor Author

run sql postcommit

@reuvenlax
Copy link
Contributor Author

run dataflow validatesrunner

@reuvenlax
Copy link
Contributor Author

run sql postcommit

@reuvenlax reuvenlax changed the title Codegen for Select [BEAM-6428] Improve select performance with codegen Mar 3, 2020
@reuvenlax
Copy link
Contributor Author

Run Java PreCommit

Copy link
Contributor

@alexvanboxel alexvanboxel left a comment

Choose a reason for hiding this comment

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

Reviewed to the best of my abilities

  • Saw tests added for the new classes
  • Verified that classes that depend on the changes are backed by test

@reuvenlax reuvenlax merged commit 8abc90b into apache:master Mar 4, 2020
Sign up for free to 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.

None yet

2 participants