[ https://issues.apache.org/jira/browse/ARROW-10109?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jorge updated ARROW-10109: -------------------------- Summary: [Rust] Add support to produce a C Data interface (was: [Rust] Add support to produce and consume a C Data interface) > [Rust] Add support to produce a C Data interface > ------------------------------------------------ > > Key: ARROW-10109 > URL: https://issues.apache.org/jira/browse/ARROW-10109 > Project: Apache Arrow > Issue Type: New Feature > Components: Rust > Reporter: Jorge > Assignee: Jorge > Priority: Major > Fix For: 3.0.0 > > > The goal of this issue is to support importing C Data arrays into Rust via > FFI. > > The use-case that motivated this issue was the possibility of running > DataFusion from Python and support moving arrays from DataFusion to > Python/Pyarray and vice-versa. > In particular, so that users can write Python UDFs that expect arrow arrays > and return arrow arrays, in the same spirit as pandas-udfs in Spark work for > Pandas. > The brute-force way of writing these arrays is by converting element by > element from and to native types. The efficient way of doing it to pass the > memory address from and to each implementation, which is zero-copy. > To support the latter, we need an FFI implementation in Rust that produces > and consumes [C's Data > interface|https://arrow.apache.org/docs/format/CDataInterface.html] -- This message was sent by Atlassian Jira (v8.3.4#803005)