Uh oh!
There was an error while loading. Please reload this page.
ARROW-8917: [C++] Formalize "metafunction" concept. Add Take and Filter metafunctions, port R and Python bindings - #7318
ARROW-8917: [C++] Formalize "metafunction" concept. Add Take and Filter metafunctions, port R and Python bindings#7318wesm wants to merge 3 commits into
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 |
wesm
commented
Jun 1, 2020
Fixed |
kou
commented
Jun 1, 2020
I'll take a look this in a few days. |
wesm
commented
Jun 1, 2020
@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
78c3e3eComparewesm
commented
Jun 1, 2020
Done. So GLib can be refactored later. |
kou
commented
Jun 1, 2020
OK. |
wesm
commented
Jun 2, 2020
Perfect |
wesm
commented
Jun 2, 2020
The CI is passing except for this s390x issue |
jorisvandenbossche
left a comment
There was a problem hiding this comment.
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?
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
wesm
commented
Jun 2, 2020
Perhaps, but it's not mutually exclusive. Some applications will just want to do |
2f518b4 to
a7618eaComparewesm
commented
Jun 2, 2020
@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 |
kiszk
commented
Jun 2, 2020
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.
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)?
Uh oh!
There was an error while loading. Please reload this page.
wesm
commented
Jun 2, 2020
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
37753d1Comparewesm
commented
Jun 2, 2020
Will merge this once the build passes |
wesm
commented
Jun 3, 2020
@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 |
wesm
commented
Jun 3, 2020
Merging as it doesn't seem like the test failure could be related to this patch (the error showed up after rebasing) |
kou
commented
Jun 3, 2020
We can ignore the failure. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
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