-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
GH-41803: [MATLAB] Add C Data Interface format import/export functionality for arrow.tabular.RecordBatch
#41817
Conversation
… Interface format
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.
+1
We need RecordBatchImporter
because we can't define custom constructor (something like static libmexclass::proxyMakeResult arrow::matlab::tabular::proxy::RecordBatch::import(....)
), right?
Yes, that's correct. @kevingurney and I have talked about extending |
After merging your PR, Conbench analyzed the 5 benchmarking runs that have been run so far on merge-commit fe2d926. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. It also includes information about 13 possible false positives for unstable benchmarks that are known to sometimes produce them. |
Rationale for this change
This pull requests adds two new APIs for importing and exporting
arrow.tabular.RecordBatch
instances using the C Data Interface format.Example:
What changes are included in this PR?
arrow.tabular.RecordBatch.export
for exportingRecordBatch
objects to the C Data Interface format.arrow.tabular.RecordBatch.import
for importingRecordBatch
objects from the C Data Interface format.arrow.c.internal.RecordBatchImporter
for importingRecordBatch
objects from the C Data Interface format.Are these changes tested?
Yes.
matlab/test/arrow/c/tRoundtripRecordBatch.m
which has basic round-trip tests for importing and exportingRecordBatch
objects.Are there any user-facing changes?
Yes.
arrow.tabular.RecordBatch
. The first isarrow.tabular.RecordBatch.export(cArrowArrayAddress, cArrowSchemaAddress)
. The second isarrow.tabular.RecordBatch.import(cArray, cSchema)
. These APIs can be used to export/importRecordBatch
objects using the C Data Interface format.Future Directions
Notes
arrow.tabular.RecordBatch
#41803