繁体   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