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)