| [ Web Proxy ] |
| Viewing: https://arrow.apache.org/docs/python/generated/../api/../integration/../../cpp/overview.html | [Back] [Original] |
Section Navigation
The Arrow C++ library is comprised of different parts, each of which serves a specific purpose.
Memory management abstractions provide a uniform API over memory that may be allocated through various means, such as heap allocation, the memory mapping of a file or a static memory area. In particular, the buffer abstraction represents a contiguous area of physical data.
Data types govern the logical interpretation of physical data. Many operations in Arrow are parameterized, at compile-time or at runtime, by a data type.
Arrays assemble one or several buffers with a data type, allowing to view them as a logical contiguous sequence of values (possibly nested).
Chunked arrays are a generalization of arrays, comprising several same-type arrays into a longer logical sequence of values.
Schemas describe a logical collection of several pieces of data, each with a distinct name and type, and optional metadata.
Tables are collections of chunked array in accordance to a schema. They are the most capable dataset-providing abstraction in Arrow.
Record batches are collections of contiguous arrays, described by a schema. They allow incremental construction or serialization of tables.
Datums are flexible dataset references, able to hold for example an array or table reference.
Kernels are specialized computation functions running in a loop over a given set of datums representing input and output parameters to the functions.
Acero (pronounced [aso] / ah-SERR-oh) is a streaming execution engine that allows computation to be expressed as a graph of operators which can transform streams of data.
Streams allow untyped sequential or seekable access over external data of various kinds (for example compressed or memory-mapped).
A messaging format allows interchange of Arrow data between processes, using as few copies as possible.
Reading and writing Arrow data from/to various file formats is possible, for example Parquet, CSV, Orc or the Arrow-specific Feather format.
Basic CUDA integration is provided, allowing to describe Arrow data backed by GPU-allocated memory.
A filesystem abstraction allows reading and writing data from different storage backends, such as the local filesystem or a S3 bucket.
Copyright 2016-2026 Apache Software Foundation.
Apache Arrow, Arrow, Apache, the Apache logo, and the Apache Arrow project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.
Created using Sphinx 9.1.0.
Built with the PyData Sphinx Theme 0.20.0.
| Web Proxy Viewer | New URL | Original Page |