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

[VL] Support inline function #4847

Merged
merged 5 commits into from
Mar 7, 2024
Merged

Conversation

marin-ma
Copy link
Contributor

@marin-ma marin-ma commented Mar 4, 2024

As explode functions is already supported, we can also enable inline function by adding a post-project to get the inner fields from the struct.

Copy link

github-actions bot commented Mar 4, 2024

Thanks for opening a pull request!

Could you open an issue for this pull request on Github Issues?

https://github.com/oap-project/gluten/issues

Then could you also rename commit message and pull request title in the following format?

[GLUTEN-${ISSUES_ID}][COMPONENT]feat/fix: ${detailed message}

See also:

Copy link

github-actions bot commented Mar 4, 2024

Run Gluten Clickhouse CI

2 similar comments
Copy link

github-actions bot commented Mar 4, 2024

Run Gluten Clickhouse CI

Copy link

github-actions bot commented Mar 5, 2024

Run Gluten Clickhouse CI

Copy link

github-actions bot commented Mar 6, 2024

Run Gluten Clickhouse CI

Copy link

github-actions bot commented Mar 6, 2024

Run Gluten Clickhouse CI

Copy link

github-actions bot commented Mar 6, 2024

Run Gluten Clickhouse CI

@marin-ma marin-ma changed the title [VL](WIP) Support inline function [VL] Support inline function Mar 6, 2024
@marin-ma
Copy link
Contributor Author

marin-ma commented Mar 7, 2024

@zhouyuan Please kindly review. Thanks!

zhouyuan
zhouyuan previously approved these changes Mar 7, 2024
Copy link
Contributor

@zhouyuan zhouyuan left a comment

Choose a reason for hiding this comment

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

quite neat impl!

applyPostProjectOnGenerator(generateRel, context, operatorId, childOutput, validation)
}

private def applyPostProjectOnGenerator(
Copy link
Contributor

Choose a reason for hiding this comment

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

Could you please add one comment on when this should be called, any other cases than inline

Copy link
Contributor Author

Choose a reason for hiding this comment

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

There are 3 types of CollectionGenerator in spark: Explode, PosExplode and Inline. Looks like only inline needs the post projection according Velox UnnestNode implementation. Besides, it would be better to implement this function in backends API. I will try PosExplode next and refine this part of code in another PR.

Copy link

github-actions bot commented Mar 7, 2024

Run Gluten Clickhouse CI

Copy link
Contributor

@zhouyuan zhouyuan left a comment

Choose a reason for hiding this comment

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

👍
The failure is not related

@zhouyuan zhouyuan merged commit b7a6329 into apache:main Mar 7, 2024
17 of 20 checks passed
@GlutenPerfBot
Copy link
Contributor

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query log/native_4847_time.csv log/native_master_03_06_2024_bddc3fd79_time.csv difference percentage
q1 35.88 38.77 2.887 108.05%
q2 24.10 24.36 0.253 101.05%
q3 37.50 39.60 2.094 105.58%
q4 38.16 37.58 -0.581 98.48%
q5 70.66 69.92 -0.737 98.96%
q6 7.43 8.34 0.904 112.17%
q7 84.09 84.40 0.303 100.36%
q8 84.95 86.73 1.785 102.10%
q9 122.60 119.49 -3.112 97.46%
q10 45.67 43.18 -2.486 94.56%
q11 21.50 20.86 -0.638 97.03%
q12 27.99 28.05 0.066 100.23%
q13 47.51 44.55 -2.962 93.77%
q14 19.90 17.03 -2.872 85.57%
q15 32.58 28.15 -4.434 86.39%
q16 14.10 14.07 -0.029 99.79%
q17 102.28 101.46 -0.819 99.20%
q18 144.62 145.26 0.649 100.45%
q19 13.67 13.99 0.322 102.36%
q20 28.46 28.21 -0.241 99.15%
q21 229.59 224.18 -5.408 97.64%
q22 13.76 14.99 1.230 108.94%
total 1247.00 1233.17 -13.827 98.89%

loneylee pushed a commit to loneylee/gluten that referenced this pull request Mar 15, 2024
As explode functions is already supported, we can also enable inline function by adding a post-project to get the inner fields from the struct.
taiyang-li pushed a commit to bigo-sg/gluten that referenced this pull request Mar 25, 2024
As explode functions is already supported, we can also enable inline function by adding a post-project to get the inner fields from the struct.
taiyang-li pushed a commit to bigo-sg/gluten that referenced this pull request Oct 8, 2024
As explode functions is already supported, we can also enable inline function by adding a post-project to get the inner fields from the struct.
taiyang-li pushed a commit to bigo-sg/gluten that referenced this pull request Oct 9, 2024
As explode functions is already supported, we can also enable inline function by adding a post-project to get the inner fields from the struct.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants