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

Parquet: Set parquet bloom filter config with compatible column name #5435

Closed
wants to merge 3 commits into from

Conversation

ConeyLiu
Copy link
Contributor

@ConeyLiu ConeyLiu commented Aug 4, 2022

This PR improves the config setting for the parquet bloom filter.

  1. Log warn for those don't exist column or the column type is unsupported (boolean or complex data type).
  2. Convert the column name to a compatible one. This is because we make the column name compatible if it contains special character when we write the parquet file.

@ConeyLiu
Copy link
Contributor Author

ConeyLiu commented Aug 4, 2022

Hi, @huaxingao @rdblue @kbendick . Could you help to review this when you are free? Thanks a lot.

.forEach(
(columnPath, value) -> {
// check the column exists and support bloom filter
Types.NestedField field = schema.caseInsensitiveFindField(columnPath);
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe we should add this check at the begining, filtering all invalid keys and making field names compatible before pushing these props down to writer. What do you think?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think it should do in setting/updating properties. Actually, we already do some simple checkers in our company. I could submit a PR for this and waiting for @rdblue opinion.

"Invalid bloom filter column configuration: field {} is of type '{}' which cannot "
+ "benefit from a bloom filter. This column configuration will be ignored.",
columnPath,
fieldType);
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think this is worth checking.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hi @rdblue, thanks for your time. The most end user doesn't understand the parquet bloom filter implementation details. The log warning here could give some users more information about their settings. Just as @zhongyujiang mentioned, maybe we should add some checking when setting/updating table properties.

@@ -951,6 +968,72 @@ public void testStructFieldNotEq() {
}
}

@Test
public void testStructFieldWithSpecialCharacterLt() {
Copy link
Contributor

Choose a reason for hiding this comment

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

@huaxingao, can you review these tests?

Copy link
Contributor

Choose a reason for hiding this comment

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

@rdblue These tests look good. Thanks for pinging me.

@ConeyLiu
Copy link
Contributor Author

ConeyLiu commented Aug 8, 2022

Thanks @rdblue @kbendick @zhongyujiang @huaxingao for your time to review. Comments have been addressed. Pls take another look when you are free.

@zinking
Copy link
Contributor

zinking commented Mar 27, 2023

@huaxingao can you take another look and push forward ? thanks

@huaxingao
Copy link
Contributor

LGTM

@huaxingao
Copy link
Contributor

cc @rdblue Could you please take another look when you have a moment?

Copy link

This pull request has been marked as stale due to 30 days of inactivity. It will be closed in 1 week if no further activity occurs. If you think that’s incorrect or this pull request requires a review, please simply write any comment. If closed, you can revive the PR at any time and @mention a reviewer or discuss it on the dev@iceberg.apache.org list. Thank you for your contributions.

@github-actions github-actions bot added the stale label Aug 17, 2024
Copy link

This pull request has been closed due to lack of activity. This is not a judgement on the merit of the PR in any way. It is just a way of keeping the PR queue manageable. If you think that is incorrect, or the pull request requires review, you can revive the PR at any time.

@github-actions github-actions bot closed this Aug 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants