конвертировать файл CSV в паркет, используя dask (сбои ядра jupyter) - PullRequest
2 голосов
/ 06 марта 2019

Я пытаюсь преобразовать несколько CSV-файл в паркетный формат, используя блокнот jupyter.Тем не менее, ноутбук перезагружается при попытке преобразовать его.

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

Код ниже.


import dask
import dask.dataframe as dd
from dask.distributed import Client
client = Client()

merchant = dd.read_csv('/home/michael/Elo_Merchant/merchants.csv')
merchant.to_parquet('merchants.parquet') # kernel restarts when run this line.

ОБНОВЛЕНИЕ:

Я использовал терминал длязапустить то же самое и получить эти ошибки.

>>>merchant.to_parquet('merchants.parquet')
2019-03-06 13:22:29.293680: F tensorflow/core/platform/cpu_feature_guard.cc:37] The TensorFlow library was compiled to use AVX instructions, but these aren't available on your machine.
Aborted
$/usr/lib/python3.5/multiprocessing/semaphore_tracker.py:129: UserWarning: semaphore_tracker: There appear to be 12 leaked semaphores to clean up at shutdown
  len(cache))

Кто-нибудь сможет мне помочь в этом вопросе.

спасибо

Майкл

1 Ответ

1 голос
/ 06 марта 2019

Я нашел решение проблемы.Я изменил двигатель преобразования паркета на fastparquet.Код ниже.Я только установил pyarrow ранее.Если оба установлены, fastparquet будет стандартным двигателем.Тем не менее, я показал в коде, поскольку в противном случае это был бы тот же код, что и выше.

import dask.dataframe as dd

merchant = dd.read_csv('/home/michael/Elo_Merchant/merchants.csv')
merchant.to_parquet('merchants.parquet', engine='fastparquet') #Works 

Надеюсь, это поможет

Спасибо

Майкл

...