-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Selective array and map column reader #10448
Conversation
✅ Deploy Preview for meta-velox canceled.
|
This pull request was exported from Phabricator. Differential Revision: D58937281 |
This pull request was exported from Phabricator. Differential Revision: D58937281 |
7d880e9
to
c15cbed
Compare
Summary: Pull Request resolved: facebookincubator#10448 Implement selective array and map column reader. This is another type of top level column without independent null streams, hence requiring some new functionalities for loading nullable encoding. There is another nuance in the diff where selective reader currently always loads the nulls first and then the values, and passes the combined nulls into readLengths methods instead of just the top level incoming nulls for scattering. We have 3 more ideal options 1) a materializeNonNull api for encodings 2) a materialize materializeNullable api for encodings for combined nulls 3) a way to have selective reader not having to materialize combined nulls without compromising efficiency. For now we have added a hack in NimbleData to load values along with the nulls for nullable encodings and return the cached value when calling readLengths later. In order to fit this access pattern, we also override the skip methods. Differential Revision: D58937281
This pull request was exported from Phabricator. Differential Revision: D58937281 |
Summary: Pull Request resolved: facebookincubator#10448 Implement selective array and map column reader. This is another type of top level column without independent null streams, hence requiring some new functionalities for loading nullable encoding. There is another nuance in the diff where selective reader currently always loads the nulls first and then the values, and passes the combined nulls into readLengths methods instead of just the top level incoming nulls for scattering. We have 3 more ideal options 1) a materializeNonNull api for encodings 2) a materialize materializeNullable api for encodings for combined nulls 3) a way to have selective reader not having to materialize combined nulls without compromising efficiency. For now we have added a hack in NimbleData to load values along with the nulls for nullable encodings and return the cached value when calling readLengths later. In order to fit this access pattern, we also override the skip methods. Differential Revision: D58937281
c15cbed
to
06df407
Compare
This pull request was exported from Phabricator. Differential Revision: D58937281 |
06df407
to
65ae727
Compare
Summary: Pull Request resolved: facebookincubator#10448 Implement selective array and map column reader. This is another type of top level column without independent null streams, hence requiring some new functionalities for loading nullable encoding. There is another nuance in the diff where selective reader currently always loads the nulls first and then the values, and passes the combined nulls into readLengths methods instead of just the top level incoming nulls for scattering. We have 3 more ideal options 1) a materializeNonNull api for encodings 2) a materialize materializeNullable api for encodings for combined nulls 3) a way to have selective reader not having to materialize combined nulls without compromising efficiency. For now we have added a hack in NimbleData to load values along with the nulls for nullable encodings and return the cached value when calling readLengths later. In order to fit this access pattern, we also override the skip methods. Differential Revision: D58937281
This pull request was exported from Phabricator. Differential Revision: D58937281 |
Summary: Pull Request resolved: facebookincubator#10448 Implement selective array and map column reader. This is another type of top level column without independent null streams, hence requiring some new functionalities for loading nullable encoding. There is another nuance in the diff where selective reader currently always loads the nulls first and then the values, and passes the combined nulls into readLengths methods instead of just the top level incoming nulls for scattering. We have 3 more ideal options 1) a materializeNonNull api for encodings 2) a materialize materializeNullable api for encodings for combined nulls 3) a way to have selective reader not having to materialize combined nulls without compromising efficiency. For now we have added a hack in NimbleData to load values along with the nulls for nullable encodings and return the cached value when calling readLengths later. In order to fit this access pattern, we also override the skip methods. Differential Revision: D58937281
65ae727
to
b8d779a
Compare
This pull request was exported from Phabricator. Differential Revision: D58937281 |
Summary: Pull Request resolved: facebookincubator#10448 Implement selective array and map column reader. This is another type of top level column without independent null streams, hence requiring some new functionalities for loading nullable encoding. There is another nuance in the diff where selective reader currently always loads the nulls first and then the values, and passes the combined nulls into readLengths methods instead of just the top level incoming nulls for scattering. We have 3 more ideal options 1) a materializeNonNull api for encodings 2) a materialize materializeNullable api for encodings for combined nulls 3) a way to have selective reader not having to materialize combined nulls without compromising efficiency. For now we have added a hack in NimbleData to load values along with the nulls for nullable encodings and return the cached value when calling readLengths later. In order to fit this access pattern, we also override the skip methods. Differential Revision: D58937281
b8d779a
to
042f656
Compare
This pull request was exported from Phabricator. Differential Revision: D58937281 |
Summary: Pull Request resolved: facebookincubator#10448 Implement selective array and map column reader. This is another type of top level column without independent null streams, hence requiring some new functionalities for loading nullable encoding. There is another nuance in the diff where selective reader currently always loads the nulls first and then the values, and passes the combined nulls into readLengths methods instead of just the top level incoming nulls for scattering. We have 3 more ideal options 1) a materializeNonNull api for encodings 2) a materialize materializeNullable api for encodings for combined nulls 3) a way to have selective reader not having to materialize combined nulls without compromising efficiency. For now we have added a hack in NimbleData to load values along with the nulls for nullable encodings and return the cached value when calling readLengths later. In order to fit this access pattern, we also override the skip methods. Reviewed By: Yuhta Differential Revision: D58937281
042f656
to
85d2b57
Compare
This pull request was exported from Phabricator. Differential Revision: D58937281 |
Summary: Pull Request resolved: facebookincubator#10448 Implement selective array and map column reader. This is another type of top level column without independent null streams, hence requiring some new functionalities for loading nullable encoding. There is another nuance in the diff where selective reader currently always loads the nulls first and then the values, and passes the combined nulls into readLengths methods instead of just the top level incoming nulls for scattering. We have 3 more ideal options 1) a materializeNonNull api for encodings 2) a materialize materializeNullable api for encodings for combined nulls 3) a way to have selective reader not having to materialize combined nulls without compromising efficiency. For now we have added a hack in NimbleData to load values along with the nulls for nullable encodings and return the cached value when calling readLengths later. In order to fit this access pattern, we also override the skip methods. Reviewed By: Yuhta Differential Revision: D58937281
85d2b57
to
26e885b
Compare
Summary: Pull Request resolved: facebookincubator#10448 Implement selective array and map column reader. This is another type of top level column without independent null streams, hence requiring some new functionalities for loading nullable encoding. There is another nuance in the diff where selective reader currently always loads the nulls first and then the values, and passes the combined nulls into readLengths methods instead of just the top level incoming nulls for scattering. We have 3 more ideal options 1) a materializeNonNull api for encodings 2) a materialize materializeNullable api for encodings for combined nulls 3) a way to have selective reader not having to materialize combined nulls without compromising efficiency. For now we have added a hack in NimbleData to load values along with the nulls for nullable encodings and return the cached value when calling readLengths later. In order to fit this access pattern, we also override the skip methods. Reviewed By: Yuhta Differential Revision: D58937281
26e885b
to
f64b60a
Compare
This pull request was exported from Phabricator. Differential Revision: D58937281 |
This pull request has been merged in afd6753. |
Conbench analyzed the 1 benchmark run on commit There were no benchmark performance regressions. 🎉 The full Conbench report has more details. |
Summary:
Implement selective array and map column reader. This is another type of top level column without independent null streams, hence requiring some new functionalities for loading nullable encoding.
There is another nuance in the diff where selective reader currently always loads the nulls first and then the values, and passes the combined nulls into readLengths methods instead of just the top level incoming nulls for scattering. We have 3 more ideal options
For now we have added a hack in NimbleData to load values along with the nulls for nullable encodings and return the cached value when calling readLengths later. In order to fit this access pattern, we also override the skip methods.
Differential Revision: D58937281