You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by "Neal Richardson (Jira)" <ji...@apache.org> on 2020/02/21 17:26:00 UTC

[jira] [Created] (ARROW-7912) [Format] C data interface

Neal Richardson created ARROW-7912:
--------------------------------------

             Summary: [Format] C data interface
                 Key: ARROW-7912
                 URL: https://issues.apache.org/jira/browse/ARROW-7912
             Project: Apache Arrow
          Issue Type: Improvement
          Components: Format
    Affects Versions: 1.0.0
            Reporter: Neal Richardson
            Assignee: Antoine Pitrou


Apache Arrow is designed to be a universal in-memory format for the representation
of tabular ("columnar") data. However, some projects may face a difficult
choice between either depending on a fast-evolving project such as the
Arrow C++ library, or having to reimplement adapters for data interchange,
which may require significant, redundant development effort.

The Arrow C data interface defines a very small, stable set of C definitions
that can be easily *copied* in any project's source code and used for columnar
data interchange in the Arrow format.  For non-C/C++ languages and runtimes,
it should be almost as easy to translate the C definitions into the
corresponding C FFI declarations.

Applications and libraries can therefore work with Arrow memory without
necessarily using Arrow libraries or reinventing the wheel. Developers can
choose between tight integration
with the Arrow *software project* (benefitting from the growing array of
facilities exposed by e.g. the C++ or Java implementations of Apache Arrow,
but with the cost of a dependency) or minimal integration with the Arrow
*format* only.





--
This message was sent by Atlassian Jira
(v8.3.4#803005)