Чтение данных `* .csv * из хранилища BLOB-объектов Azure в пакете записей в память - PullRequest
0 голосов
/ 20 апреля 2019

Существует определенная проблема масштабирования данных, с которой я пытаюсь разобраться в Azure. Для задач, на которые я буду ссылаться, я работаю в Python 3.5 в контейнере Docker под управлением Ubuntu 16.04.

Я начинаю с большого количества *.csv или *.json записей данных - предположим, что "большой" означает больше, чем я хотел бы хранить в памяти. Я хотел бы хранить эти данные (дешево) в хранилище BLOB-объектов Azure. Из этих данных я хотел бы построить большие графовые базы данных и модели искусственного интеллекта.

Моя проблема в том, что я хочу иметь возможность читать записи из одного из этих *.csv или *.json файлов в пакетах записей (НЕ в пакетах, определенных некоторым количеством байтов, для которых я нашел решение), чтобы быть записанным в память, чтобы я мог выполнить любую задачу преобразования или моделирования, которая мне нужна, затем освободить эту память и перейти к следующему пакету. Например, предположим, что в моем наборе данных содержится 10 миллионов (и растет) записей, которые слишком велики для одновременного хранения в памяти, но я могу устойчиво хранить и обрабатывать 10 000 записей одновременно. Как можно перебирать партии записей через такой файл в хранилище блогов Azure?

Пока что я могу создать контейнер больших двоичных объектов, записать локальный файл в этот контейнер больших двоичных объектов, загрузить этот файл обратно из контейнера больших двоичных объектов в локальный каталог и прочитать файл из большого двоичного объекта в виде пакетов, определяемых числом байтов. (что бесполезно для обработки дискретных записей, которые, очевидно, не имели бы постоянного числа байтов).

...