Была предпринята работа, чтобы разрешить такую вещь, но в настоящее время это не однострочная вещь, как вы предлагаете.
Во-первых, если у вас есть данные, которые могут поместиться в памяти, вы можете использовать fastparquet's *Метод 1003 * и укажите аргумент open=
.Это должна быть функция, которая создает файловый объект в режиме бинарной записи, в вашем случае BytesIO()
.
. Чтобы эта работа работала напрямую с dask, вы могли бы использовать MemoryFileSystem из проекта filesystem_spec.Вам нужно будет добавить класс в Dask и написать следующее:
dask.bytes.core._filesystems['memory'] = fsspec.implementations.memory.MemoryFileSystem
df.to_parquet('memory://name.parquet')
Когда закончите, MemoryFileSystem.store
, который является атрибутом класса, будет содержать ключи, похожие на имена файлов, и значения, которые являются объектами BytesIO.содержащие данные.