AmazonのElastic MapReduceでmrjobを使用してPythonコードを実行すると、EMRイメージのnumpyとscipyをアップグレードする方法が見つかりました。Amazon Elastic MapReduceのNumpyとScipy
は、次のコマンドは動作し、コンソールから実行:
tar -cvf py_bundle.tar mymain.py Utils.py numpy-1.6.1.tar.gz scipy-0.9.0.tar.gz
gzip py_bundle.tar
python my_mapper.py -r emr --python-archive py_bundle.tar.gz --bootstrap-python-package numpy-1.6.1.tar.gz --bootstrap-python-package scipy-0.9.0.tar.gz > output.txt
これが成功イメージに最新のnumpyのscipyのダウンロードとをブートストラップし、完璧に動作します。私の質問はスピードの問題です。小さなインスタンスに自分自身をインストールするには、21分かかります。
誰かがアップグレードのプロセスをスピードアップする方法を知っていますか? numpyとscipy?
あなたの問題は、それが遅い小さなインスタンスだということです。より大きなAmazonインスタンスに移動しない限り、実際のスピードアップは表示されません。これは、EC2がインスタンスをまったく回転させるために通常必要とする約5-6分を21分以上上回っていますか? – ely
元のスピンアップとの通信には長い時間がかかります。 mrjobコミュニティの誰かが、このインストールをワーカーインスタンス用に行い、sshを使用してワーカーインスタンスにログインし、完成したインストールディレクトリをダウンロードすることをお勧めしました。それから、完成したインストールディレクトリを私のファイルのzipとして渡します。 Pythonは、hadoopのインストールされたバージョンの代わりにローカルのNumPyとSciPyを使用することを選択します。 – jtman