Remove Arrow dependency from the datasource.hpp public header - #13698
Conversation
…impr-separate-arrow-source
Adds the `cudf::io::datasource` source (header) to the doxygen IO Data Sources group/modules: https://docs.rapids.ai/api/libcudf/stable/group__io__datasources.html Found while working #13698 Also created a Data Sinks group and added the `cudf::io::data_sink` source to it. Authors: - David Wendt (https://github.com/davidwendt) Approvers: - Bradley Dice (https://github.com/bdice) - Vukasin Milovanovic (https://github.com/vuule) URL: #13718
|
Will re-target for 23.10 once changes are done; this one is not worth the risk to merge late into the release cycle. |
…impr-separate-arrow-source
…impr-separate-arrow-source
datasource.hpp public headerdatasource.hpp public header
|
Thanks @vuule ! LGTM |
ajschmidt8
left a comment
There was a problem hiding this comment.
Approving ops-codeowner file changes
|
|
||
| cdef cppclass arrow_io_source(cudf_io_datasource.datasource): | ||
| arrow_io_source(string arrow_uri) except + | ||
| arrow_io_source(const string& arrow_uri) except + |
There was a problem hiding this comment.
For some reason I only see "const string" in pxd files so I kept this consistent with other instances. I'm not sure if our east const guideline reached Cython.
There was a problem hiding this comment.
Cython doesn't support east const.
PointKernel
left a comment
There was a problem hiding this comment.
Just one small software engineering comment. LGTM
| * | ||
| * @param arrow_uri Apache Arrow Filesystem URI | ||
| */ | ||
| explicit arrow_io_source(std::string const& arrow_uri) |
There was a problem hiding this comment.
Same to all other member functions. Maybe considering separating class declaration from definition
There was a problem hiding this comment.
I want to keep this class separate from libcudf, but we don't have to take that route.
@davidwendt thoughts on keeping the implementation in libcudf?
There was a problem hiding this comment.
I'm not sure I understand what you mean by keeping this separate from libcudf.
I think Yunsong means moves the implementation to cpp/src/io/arrow_io_source.cpp and keep only the declarations in this header file. I agree with that approach.
There was a problem hiding this comment.
I meant that I will need to compile cpp/src/io/arrow_io_source.cpp as part of libcudf. Not an issue, just different from what I imagined in the beginning.
…impr-separate-arrow-source
…/cudf into impr-separate-arrow-source
|
/merge |
Description
Remove arrow dependency from
datasource.hpp.Breaking only because users of
arrow_io_sourcenow need to include the newarrow_io_source.hppheader instead ondatasource.hppChecklist