簡體   English   中英

使用 dask 將 CSV 文件轉換為鑲木地板(jupyter 內核崩潰)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM