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

feat(parquet): Add Int64 Timestamp in reader #11530

Closed
wants to merge 1 commit into from

Conversation

zuyu
Copy link
Contributor

@zuyu zuyu commented Nov 13, 2024

w/ both plain and dictionary encoding support.

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Nov 13, 2024
Copy link

netlify bot commented Nov 13, 2024

Deploy Preview for meta-velox canceled.

Name Link
🔨 Latest commit 06f1ed1
🔍 Latest deploy log https://app.netlify.com/sites/meta-velox/deploys/67645b8eb0339100083dcd8c

@zuyu zuyu changed the title Add Int64 Timestamp support in Parquet reader <feat>(parquet): Add Int64 Timestamp support in Parquet reader Nov 14, 2024
@zuyu zuyu changed the title <feat>(parquet): Add Int64 Timestamp support in Parquet reader <feat>(parquet): Add Int64 Timestamp in reader Nov 14, 2024
@zuyu zuyu changed the title <feat>(parquet): Add Int64 Timestamp in reader feat(parquet): Add Int64 Timestamp in reader Nov 14, 2024
@liujiayi771
Copy link
Contributor

Could you add some unit tests?

Copy link
Collaborator

@yingsu00 yingsu00 left a comment

Choose a reason for hiding this comment

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

@zuyu Can you please add a commit and PR message describing the change?

velox/dwio/common/IntDecoder.h Outdated Show resolved Hide resolved
velox/dwio/common/IntDecoder.h Outdated Show resolved Hide resolved
velox/dwio/parquet/reader/TimestampColumnReader.h Outdated Show resolved Hide resolved
@surnaik
Copy link

surnaik commented Nov 20, 2024

I am assuming you're also planning to add support for Dictionary encoding and range filters, currently the range filter is always casted to INT96 range filter.

@majetideepak
Copy link
Collaborator

@rui-mo, @surnaik can you help review this change? Thanks.

Copy link
Collaborator

@rui-mo rui-mo left a comment

Choose a reason for hiding this comment

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

Thanks! I added some comments.

velox/dwio/parquet/reader/PageReader.cpp Show resolved Hide resolved
velox/dwio/parquet/reader/TimestampColumnReader.h Outdated Show resolved Hide resolved
@zuyu
Copy link
Contributor Author

zuyu commented Dec 17, 2024

@rui-mo Addressed ur comments. Could u take another look? The test failures are the same as the main branch. Ty!

Copy link
Collaborator

@rui-mo rui-mo left a comment

Choose a reason for hiding this comment

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

Thanks! Added some nits and overall looks good to me.

@@ -813,6 +813,11 @@ TypePtr ReaderBase::convertType(
case thrift::Type::type::INT32:
return INTEGER();
case thrift::Type::type::INT64:
// For Int64 Timestamp in nano precision
Copy link
Collaborator

Choose a reason for hiding this comment

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

in nano precision

nit: is other precision other than nano possible?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No, other precisions handle separately: see #11600 (comment)

velox/dwio/parquet/reader/TimestampColumnReader.h Outdated Show resolved Hide resolved
velox/dwio/parquet/reader/TimestampColumnReader.h Outdated Show resolved Hide resolved
@facebook-github-bot
Copy link
Contributor

@zacw7 has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@facebook-github-bot
Copy link
Contributor

@zacw7 merged this pull request in c9dee4e.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants