-
Notifications
You must be signed in to change notification settings - Fork 4k
ARROW-8917: [C++] Formalize "metafunction" concept. Add Take and Filter metafunctions, port R and Python bindings #7318
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
Conversation
|
@nealrichardson I will need your help on the one failing R test @kou I removed 6 of the 8 |
|
I figured out the R issue, I'm trying to fix. It's this hack here https://github.com/apache/arrow/blob/master/r/src/compute.cpp#L180 |
|
Fixed |
|
I'll take a look this in a few days. |
|
@kou thanks. I'll try to add deprecated APIs for the functions that were removed so that merging need not be blocked on the refactoring |
743fe38 to
78c3e3e
Compare
|
Done. So GLib can be refactored later. |
|
OK. |
Perfect |
|
The CI is passing except for this s390x issue |
jorisvandenbossche
left a comment
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.
Looks good!
(some nice code removal in the python bindings indeed ;))
Added some small comments.
One more conceptual aspect I am wondering: compute functions on tables that basically just apply the function on each column (like take, but also if eg support for Table would be added to the sum registered function), wouldn't that start to be part of the (higher level) execution plan?
Perhaps, but it's not mutually exclusive. Some applications will just want to do |
2f518b4 to
a7618ea
Compare
|
@kiszk the s390x machine on Travis appears to be in bad shape. It would be good to get this merged sometime today, let me know if there are other comments on the C++ or R side |
|
Oh, I saw https://travis-ci.org/github/apache/arrow/builds one hour ago. And, I got good feeling... According to my experience, this type of disk full error may disappear when we will run the test after 30 min. or 1 hour. |
bkietz
left a comment
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 seems like a clean refactor, thanks for doing this. Would you comment here or on the JIRA about other metafunctions (aside from take and filter)?
These are the only ones I can think of aside from cast at the moment |
…Port R, Python bindings modulo one failing R test Fix Table__to_dataframe for ChunkedArray with zero chunks Restore deprecated APIs so that GLib will compile and pass tests again CI fixes Try to fix R 4.0 toolchain issue again
a7618ea to
37753d1
Compare
|
Will merge this once the build passes |
|
@kou this test failure https://github.com/apache/arrow/pull/7318/checks?check_run_id=732734225 seems unrelated to this patch, thoughts? It seems like the test case may be malformed https://github.com/apache/arrow/blob/master/c_glib/test/test-struct-array.rb#L41 |
|
Merging as it doesn't seem like the test failure could be related to this patch (the error showed up after rebasing) |
|
We can ignore the failure. |
A "metafunction" is one that dispatches to other functions based on the argument types. It does not contain any kernels.
Other stuff in this PR:
arrow::compute::Take. Other ones are still there but will be deprecated or removed after the GLib bindings are ported to use either CallFunction or the Take with Datum-Datum.There is one failing R test that I wasn't able to debug easily.
Connected JIRAs: ARROW-7009