-
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
Move parquet-specific options to parquet::WriterOptions #10470
Conversation
This pull request was exported from Phabricator. Differential Revision: D59710079 |
✅ Deploy Preview for meta-velox canceled.
|
velox/dwio/common/Options.h
Outdated
std::optional<uint8_t> zlibCompressionLevel; | ||
std::optional<uint8_t> zstdCompressionLevel; | ||
|
||
// Writer implementations should provide this function to specify how to | ||
// process writer-specific input session and connector configs. | ||
virtual void processUserConfigs(const Config*) = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs to be concrete and we need to translate the format agnostic configurations here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why does it need to be concrete?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because it needs to translate format-agnostic options, and the subclasses will handle the format-specific ones
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@pedroerp thanks for taking this up. I have been wanting something like this for a while now. I have one comment.
e2aa9c8
to
1d789cf
Compare
This pull request was exported from Phabricator. Differential Revision: D59710079 |
…bator#10470) Summary: Pull Request resolved: facebookincubator#10470 Moving parquet-specific options to the new parquet WriterOptions polymorphic type to remove file format specific configuration code in the general Hive connector. Differential Revision: D59710079
This pull request was exported from Phabricator. Differential Revision: D59710079 |
…bator#10470) Summary: Pull Request resolved: facebookincubator#10470 Moving parquet-specific options to the new parquet WriterOptions polymorphic type to remove file format specific configuration code in the general Hive connector. Differential Revision: D59710079
1d789cf
to
2d175d5
Compare
velox/dwio/parquet/writer/Writer.cpp
Outdated
void WriterOptions::processSessionConfigs(const Config& config) { | ||
if (!parquetWriteTimestampUnit) { | ||
parquetWriteTimestampUnit = | ||
getTimestampUnit(config, "hive.parquet.writer.timestamp_unit"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we have "hive.parquet.writer.timestamp_unit" and "hive.parquet.writer.timestamp-unit" as static constexpr const char*
in parquet WriterOptions
?
This pull request was exported from Phabricator. Differential Revision: D59710079 |
…bator#10470) Summary: Pull Request resolved: facebookincubator#10470 Moving parquet-specific options to the new parquet WriterOptions polymorphic type to remove file format specific configuration code in the general Hive connector. Reviewed By: Yuhta Differential Revision: D59710079
2d175d5
to
28a6043
Compare
This pull request was exported from Phabricator. Differential Revision: D59710079 |
…bator#10470) Summary: Pull Request resolved: facebookincubator#10470 Moving parquet-specific options to the new parquet WriterOptions polymorphic type to remove file format specific configuration code in the general Hive connector. Reviewed By: Yuhta Differential Revision: D59710079
28a6043
to
702fcd7
Compare
…bator#10470) Summary: Pull Request resolved: facebookincubator#10470 Moving parquet-specific options to the new parquet WriterOptions polymorphic type to remove file format specific configuration code in the general Hive connector. Reviewed By: Yuhta Differential Revision: D59710079
This pull request was exported from Phabricator. Differential Revision: D59710079 |
702fcd7
to
6f351a6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This pull request has been merged in 8156d7d. |
Conbench analyzed the 1 benchmark run on commit There were no benchmark performance regressions. 🎉 The full Conbench report has more details. |
@pedroerp Multiple CI jobs are failing with this merge. |
Ughh, looking at it now. |
Summary: Fixing Parquet writer test build broken in facebookincubator#10470 Differential Revision: D60066916
// through insertTableHandle) | ||
// 2. Otherwise, acquire user defined session properties. | ||
// 3. Lastly, acquire general hive connector configs. | ||
options->processSessionConfigs(*connectorSessionProperties); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we let Parquet writer to convert the common options to Parquet specific settings as dwrf does? Thanks!
Summary:
Moving parquet-specific options to the new parquet WriterOptions
polymorphic type to remove file format specific configuration code in the
general Hive connector.
Differential Revision: D59710079