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