Как заставить DASK читать файлы BSON? - PullRequest
0 голосов
/ 12 марта 2020

Мне нужно прочитать файлы BSON mongo_db dump.

И я думаю о том, как прочитать эти файлы, написав специальный DASK bson_reader.

Проблема заключается в том, чтобы проанализировать файлы BSON mongo_db и перебрать весь файл. При переборе BSON необходимо найти окончания блоков BSON, разделить каждый блок файла и предотвратить загрузку всего файла в память. Модуль pymon go bson может сделать это, но вернуть только файловый итератор, и этот итератор не может использовать, например: dask.bug.load_csv (файл) .map (итератор).

Что такое котел пластинка для написания кастомных dask.bug.bson_read? или есть идеи?

1 Ответ

0 голосов
/ 13 марта 2020

Если окончания блоков согласованы, то вы можете использовать функцию dask.bytes.read_bytes для создания списка отложенных объектов Dask. Затем вы можете применить функцию chunk-of-bytes -> list-or-dataframe к каждому из этих отложенных объектов, а затем использовать from_delayed from из dask.bag или dask.delayed.

https://docs.dask.org/en/latest/delayed-collections.html

...