arrow README

The project's README from github.com/apache/arrow. As one markdown file: README.md.

Apache Arrow

Fuzzing Status License BlueSky Follow

Powering In-Memory Analytics

Apache Arrow is a universal columnar format and multi-language toolbox for fast data interchange and in-memory analytics. It contains a set of technologies that enable data systems to efficiently store, process, and move data.

Major components of the project include:

The ↗ icon denotes that this component of the project is maintained in a separate repository.

Arrow is an Apache Software Foundation project. Learn more at arrow.apache.org.

What's in the Arrow libraries?

The reference Arrow libraries contain many distinct software components:

Implementation status

The official Arrow libraries in this repository are in different stages of implementing the Arrow format and related features. See our current feature matrix on git main.

How to Contribute

Please read our latest project contribution guide.

If you are using AI coding tools, please review our AI-generated code guidance.

Getting involved

Even if you do not plan to contribute to Apache Arrow itself or Arrow integrations in other projects, we'd be happy to have you involved:

Continuous Integration Sponsors

We use runs-on for managing the project self-hosted runners. We use AWS for some of the required infrastructure for the project.

arrow (apache/arrow)

Searching Database…

17.2K ·GitHub
Что это такое?Apache Arrow — это универсальный колоночный формат плюс набор инструментов для разных языков, позволяющий быстро обмениваться данными и работать с ними в памяти — то есть технологии, с помощью которых системы данных эффективно хранят, обрабатывают и перемещают табличные данные.
Это одна библиотека или целый набор технологий?Целый набор. Ядро — стандартный колоночный формат для работы в памяти, к нему прилагаются формат сериализации IPC, RPC-протокол Flight, API доступа к базам данных ADBC и справочные библиотеки примерно для десяти языков.
Как подключить Arrow к своему проекту?Собирать этот монорепозиторий самому не нужно — просто добавьте официальную библиотеку для своего языка: C++, Java, Python, R, Ruby, Rust, Go, .NET, JavaScript, Julia или Swift. Ссылки на все реализации есть на arrow.apache.org.
Нужна ли работающая база данных или сервер, чтобы этим пользоваться?Нет — колоночный формат и его контейнеры работают внутри процесса на обычных буферах. Серверы появляются, только если вы намеренно строите что-то на Flight или подключаетесь к базам данных через драйверы ADBC.
Все ли языковые библиотеки одинаково полные?Нет — официальные библиотеки реализуют формат на разной стадии, поэтому, прежде чем полагаться на конкретную возможность в своём языке, сверьтесь с таблицей поддержки функций в основной ветке.
Для кого создан Arrow?Для разработчиков систем данных — баз данных, движков запросов, аналитических конвейеров, — которым нужно быстро хранить, обрабатывать и передавать табличные данные между процессами и языками.
Что такое Arrow Flight?RPC-протокол, построенный поверх формата Arrow IPC. Это строительный блок для удалённых сервисов, которые обмениваются данными Arrow по заданной приложением семантике — например, хранилище или база данных.
Что такое ADBC?Arrow Database Connectivity: API на базе Arrow с драйверами и библиотеками для доступа к базам данных и движкам запросов — подход Arrow к стандартному подключению к базам данных.
Как Arrow связан с Parquet?Parquet — это файловый формат на диске, а Arrow — представление в памяти. Библиотеки Arrow поставляются с средствами чтения и записи распространённых форматов вроде Parquet и CSV, так что файлы загружаются сразу в колоночные контейнеры.
Что такое Gandiva?Компилятор выражений Arrow на основе LLVM, который живёт внутри кодовой базы C++ — один из менее заметных, но интересных компонентов проекта.
Creator
apache
Size
231.9 MB
Stars
17.2K
Age
10y
Commits · 90 Days