Добавление в набор данных паркета ежедневно - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть несколько входящих каналов данных, которые я получаю ежедневно. Каждый файл находится между 10-150 МБ. Для каждого файла, который я получаю, я добавляю его в соответствующий набор данных паркета для этого файла. На практике это означает чтение нового файла days в фрейм данных pandas, чтение существующего набора данных паркета в фрейм данных, добавление новых данных в существующий и перезапись паркета. Из того, что я видел, нет способа добавить набор данных для паркета, иначе я бы это сделал. Учитывая, что ежедневные размеры файлов относительно невелики, я думаю, что было бы бесполезно просто записывать их как свои собственные разделы в набор данных - я бы ежедневно добавлял 2-20 МБ паркетных файлов, и я понимаю, что это слишком мало для паркетного файла и это привело бы к значительному прослушиванию наличия такого количества разделов.

Я уже некоторое время работаю с моей существующей установкой, и чтение существующих файлов паркета в память на самом деле становится довольно дорогим, где я получаю несколько ГБ фреймы данных.

Мой план заключался в том, чтобы определить новый раздел для существующих неразделенных наборов данных (например, год или год / квартал), а затем при запуске процесса читать только в соответствующем разделе для новых данных, добавить новые данные к нему, и переписать только этот раздел.

Я вполне уверен, что это сработает и решит мои проблемы, но считаю, что это небольшая работа, чтобы убедиться, что он работает правильно и масштабируется для всех моих использует / наборы данных. Прежде чем двигаться дальше, я хотел посмотреть, есть ли какой-нибудь другой более чистый / простой способ постепенного добавления к наборам данных паркета с помощью pandas / pyarrow / dask.

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