Написание паркетных файлов из Python без панд - PullRequest
0 голосов
/ 04 мая 2018

Мне нужно преобразовать данные из JSON в паркет как часть конвейера ETL. В настоящее время я делаю это с from_pandas методом pyarrow.Table . Однако создание фрейма данных сначала кажется ненужным шагом, плюс я бы хотел избежать зависимости панд от зависимостей.

Есть ли способ, как записывать файлы паркета без необходимости сначала загружать его в массив данных?

1 Ответ

0 голосов
/ 04 мая 2018

На данный момент наиболее удобным способом создания паркета является использование Pandas из-за его зрелости. Тем не менее, pyarrow также предоставляет возможности для построения своих таблиц из обычного Python:

import pyarrow as pa

string_array = pa.array(['a', 'b', 'c'])
pa.Table.from_arrays([string_array], ['str'])

Поскольку Parquet является столбцовым форматом данных, вам придется загрузить данные один раз в память, чтобы выполнить построчное преобразование представления столбчатых данных.

На данный момент вам также необходимо создать массивы Arrow сразу; Вы не можете создавать их постепенно. В будущем мы планируем представить (инкрементные) классы компоновщика из C ++: https://github.com/apache/arrow/pull/1930

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...