Читать только определенные строки файлов .parquet, соответствующие критериям? - PullRequest
0 голосов
/ 18 октября 2019

Я работаю против файловой системы, заполненной файлами .parquet. Один из столбцов, id, однозначно идентифицирует машину. Я смог использовать pyspark, чтобы открыть все файлы .parquet в определенном пути к каталогу, а затем создать набор ([]) значений из столбца 'id'. Я хотел бы открыть все остальные строки во всех других файлах, где 'id' совпадает с одним из значений в ранее рассчитанном наборе.

Я смог сделать это через pyspark, но это довольно сложно итребует от меня создания экземпляра локального сервера спарк. Я пытаюсь найти способ сделать это через pyarrow, но кажется, что аргумент 'filters' read_pandas / read method может фильтровать только данные раздела, а не произвольные данные столбца.

Есть ли способдобиться того, что я ищу здесь? Я не могу открыть весь набор данных, а затем использовать Python для фильтрации строк, в которых «id» не совпадает, потому что он не помещается в памяти.

1 Ответ

1 голос
/ 20 октября 2019

Начиная с 0.15.0, pyarrow не имеет этой функции, но мы (в проекте Apache Arrow) активно работаем над этим и надеемся включить ее в следующий основной выпуск.

...