Skip to content
This repository has been archived by the owner on Sep 18, 2023. It is now read-only.

[NSE-732] Support Map complex type in Shuffle #749

Merged
merged 16 commits into from
Mar 8, 2022

Conversation

zhixingheyi-tian
Copy link
Collaborator

@zhixingheyi-tian zhixingheyi-tian commented Mar 2, 2022

What changes were proposed in this pull request?

  • Implement Map type support in JNI buffer building
  • Support infinite recursion in same complex types
  • Support infinite recursion between different complex types

How was this patch tested?

(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

@github-actions
Copy link

github-actions bot commented Mar 2, 2022

#732

@zhixingheyi-tian
Copy link
Collaborator Author

@zhouyuan
Have passed Jenkins SparkSQL uts and other workloads.

@zhouyuan
Copy link
Collaborator

zhouyuan commented Mar 7, 2022

@zhixingheyi-tian these configurations are not set in the new tests, we may lose some coverage, is this intended?

        .set("spark.oap.sql.columnar.rowtocolumnar", "false")
        .set("spark.oap.sql.columnar.columnartorow", "false")

@zhixingheyi-tian
Copy link
Collaborator Author

zhixingheyi-tian commented Mar 7, 2022

@zhixingheyi-tian these configurations are not set in the new tests, we may lose some coverage, is this intended?

        .set("spark.oap.sql.columnar.rowtocolumnar", "false")
        .set("spark.oap.sql.columnar.columnartorow", "false")

Because Native row=>column, column => row have not supported complex types enough. So used the non-native conversion.

@zhouyuan
Copy link
Collaborator

zhouyuan commented Mar 7, 2022

@zhixingheyi-tian these configurations are not set in the new tests, we may lose some coverage, is this intended?

        .set("spark.oap.sql.columnar.rowtocolumnar", "false")
        .set("spark.oap.sql.columnar.columnartorow", "false")

Because Native row=>column, column => row have not supported complex types enough. So used the non-native conversion.

can you also improve the missing build_check() in c2r & r2c?

@zhixingheyi-tian
Copy link
Collaborator Author

@zhixingheyi-tian
Copy link
Collaborator Author

@zhixingheyi-tian these configurations are not set in the new tests, we may lose some coverage, is this intended?

        .set("spark.oap.sql.columnar.rowtocolumnar", "false")
        .set("spark.oap.sql.columnar.columnartorow", "false")

Because Native row=>column, column => row have not supported complex types enough. So used the non-native conversion.

can you also improve the missing build_check() in c2r & r2c?

Yes. Done

@zhixingheyi-tian
Copy link
Collaborator Author

zhixingheyi-tian commented Mar 7, 2022

@zhouyuan
Also added Operator check in SQL executedPlan.

@zhouyuan
Copy link
Collaborator

zhouyuan commented Mar 8, 2022

note:

  • columnar shuffle works fine with array/struct/map as payload
  • columnar shuffle failed with array/struct/map as shuffle keys due to gandiva expr doesnot support these types (rare case)

@zhixingheyi-tian
Copy link
Collaborator Author

@zhouyuan
Added Partitioning keys check.
Also added Fall back UTs about complex type in Partitioning keys

@zhouyuan zhouyuan merged commit 20379cd into oap-project:master Mar 8, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants