[英]convert CSV file to parquet using dask (jupyter kernel crashes)
我正在嘗試使用 jupyter notebook 將一個有點大的 CSV 文件轉換為鑲木地板格式。 但是,筆記本在嘗試轉換時會重新啟動。
由於 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))
任何人都可以幫助我解決這個問題。
謝謝
邁克爾
我找到了問題的解決方案。 我將鑲木地板轉換引擎更改為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
希望這可以幫助
謝謝
邁克爾
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.