2017-10-05 18 views
1

非常に大きなcsvファイルのフォルダを読み込むためにDaskを使用しようとしています(メモリに収まるサイズですが、サイズは非常に大きいですが、ソリューションは次のようになります。Dask - 値に一致する行を検索しています

val = 'abc' 

df = dd.read_csv('/home/ubuntu/files-*', parse_dates=['date']) 
# 1 - df_pd = df.compute(get=dask.multiprocessing.get) 
ddf_selected = df.map_partitions(lambda x: x[x['val_col'] == val]) 
# 2 - ddf_selected.compute(get=dask.multiprocessing.get) 

1(そして次にパンダを使用していますか?何をすべきかの感覚を得ようとしていますか?

答えて

0

はまた、単に次の操作を行うことができますの面では

ddf_selected = ddf[ddf['val_col'] == val] 

が、それは操作に強く依存するより良いです。メモリ内のシャッフルを必要としない大規模なデータセットの場合、dask.dataframeはおそらくより優れたパフォーマンスを発揮します。ランダムアクセスまたは完全なソートの場合、パンダはおそらくより良いパフォーマンスを発揮します。

マルチプロセッシングスケジューラを使用したくない場合があります。一般にPandasでは、スレッドスケジューラまたは分散スケジューラのいずれかを推奨します。

関連する問題