我正在尝试使用jupyter笔记本将大小适中的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))
在这个问题上,谁能帮助我。
谢谢
迈克尔
答案 0 :(得分:1)
我找到了解决问题的办法。我将实木复合地板转换引擎更改为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
希望这会有所帮助
谢谢
迈克尔