orc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Deepak Majeti <majeti.dee...@gmail.com>
Subject Feedback on C++ ORC Library API changes (*break backward compatibility*)
Date Thu, 15 Dec 2016 22:20:58 GMT
Hi All,

The purpose of this email is to understand the impact, the following API
changes will have on users of the C++ ORC library.

I have been working on a patch to split the ORC Reader into two components:
1) Reader for reading the file metadata 2) RowReader to read the actual
rows. This will also require splitting the corresponding ReaderOptions into
two.

JIRA: https://issues.apache.org/jira/browse/ORC-58
Patch: https://github.com/apache/orc/pull/41

The motivation is that the current orc::Reader design makes it impossible
to just read the file metadata, plan and later read rows.

Proposed changes with an example:

*Old:*
orc::ReaderOptions opts;
opts.include(columns);
std::unique_ptr<orc::Reader> reader =
createReader(readLocalFile(getFilename()), opts);
// cannot plan and select columns

*New*:
orc::ReaderOptions readerOpts;
std::unique_ptr<orc::Reader> reader =
createReader(readLocalFile(getFilename()), readerOpts);
// read metadata, plan and select columns
orc::RowReaderOptions rowReaderOpts;
rowReaderOpts.include(columns);
std::unique_ptr<orc::RowReader> rowReader =
reader->getRowReader(rowReaderOpts);

Please provide your feedback on these changes.
Thanks!

-- 
regards,
Deepak Majeti

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message