Commits


Joris Van den Bossche authored and GitHub committed a3cd962b8bc
GH-33976: [Python] Initial bindings for acero Declaration and ExecNodeOptions classes (#34102) First step for GH-33976, adding basic bindings for the different ExecNodeOptions classes and the Declaration class to combine those in a query. Some notes on what is and what is not included in this PR: * For source nodes, didn't expose the generic `SourceNodeOptions` et al, only the concrete `TableSourceNodeOptions` (should probably also add `RecordBatchReaderSourceNodeOptions`) * Didn't yet expose any sink nodes. The table sink is implicitly used by `Declaration.to_table()`, and given that there is currently no explicit API to manually convert to ExecPlan and execute it, explicit table sink node bindings didn't seem necessary. * Also didn't yet expose the order_by sink node, because this requires a custom sink when collecting as a Table, and it's not directly clear how this is possible with the Declaration interface. This requires https://github.com/apache/arrow/issues/34248 to be fixed first. * Leaving dataset-based scan and write nodes for a follow-up PR * Basic class for `Declaration` with a `to_table` method to execute the plan and consume it into a Table, and a `to_reader()` to get a RecordBatchReader (could also further add a `to_batches()` method) -- * Issue: #33976 Lead-authored-by: Joris Van den Bossche <jorisvandenbossche@gmail.com> Co-authored-by: Weston Pace <weston.pace@gmail.com> Signed-off-by: Joris Van den Bossche <jorisvandenbossche@gmail.com>