-1

私は基本的に、コンセプトを取得したかどうかを確認するために、mapreduceのマルチコアバージョンを作成しようとしています。また、Pythonでのスレッド化についても学びたいと考えていました。

テキスト文字列の2つのチャンクを言うことができます。

マルチスレッドを使用してそれらを同時に処理する(たとえば、単語にトークン化する)にはどうすればよいですか。私はドキュメントを理解したと思いましたが、これは一部(マルチスレッドプログラム)であり、効率的である必要がある場合は非常に注意する必要があります。助言がありますか?

4

1 に答える 1

1

multiprocessingモジュールを使用してみて、そのmap()メソッドを使用することをお勧めします。これにより、複数のコアを効率的に使用できるようになります。

Pythonインタープリター内でのロックに時間がかかるため、Pythonスレッドは効率的ではありません。モジュールがありますが、map/reduceのような問題threadingのモジュールを使用したほうがよいでしょう。multiprocessing

また、map / reduceを確実に理解したい場合は、実際のmap / reduceシステムで遊んでみませんか?Hadoopは利用可能な無料のソフトウェアmap/reduceシステムであり、HadoopでPythonを使用することができます。

http://www.michael-noll.com/tutorials/writing-an-hadoop-mapreduce-program-in-python/

于 2012-04-08T23:05:17.887 に答える