2

wordcount 30GBのjsonファイルにダスクバッグを使用しようとしています。公式Webのチュートリアルに従って厳格です: http://dask.pydata.org/en/latest/examples/bag-word-count-hdfs.html

しかし、まだ動作しません。私のマシンは 32GB のメモリと 8 コアの CPU です。

以下の私のコードは、10GBのファイルを処理していても機能しませんでした.jupyterが折りたたまれたことを通知せずにエラーが数時間実行されています.UbuntuとWindowsの両方のシステムで試しましたが、同じ問題です. それで、dasbagがメモリ不足のデータを処理できるかどうか疑問に思いますか? それとも私のコードが間違っていますか?

http://files.pushshift.io/reddit/comments/からのテスト データ

import dask.bag as db
import json
b = db.read_text('D:\RC_2015-01\RC_2012-04')
records = b.map(json.loads)
result = b.str.split().concat().frequencies().topk(10, lambda x: x[1])
%time f = result.compute()
f
4

1 に答える 1

1

単一のファイルから読み取るときは、ブロックサイズを 10MB の範囲に設定して、ファイルを少し分割してみてください。

In [1]: import dask.bag as db

In [2]: b = db.read_text('RC_2012-04', blocksize=10000000)

In [3]: %time b.count().compute()
CPU times: user 1.22 s, sys: 56 ms, total: 1.27 s
Wall time: 20.4 s
Out[3]: 19044534

また、警告として、バッグを作成しますrecordsが、それに対して何もしません。その行を削除したい場合があります。

于 2016-11-02T14:26:50.673 に答える