1

Amazon EMR を使用して試してみたい大規模なデータセット (25 GB 以上、インターネットでダウンロード可能) がいくつかあります。データセットを自分のコンピューターにダウンロードしてから Amazon に再アップロードする代わりに、データセットを Amazon に取得する最良の方法は何ですか?

EC2 インスタンスを起動し、インスタンス内から (wget を使用して) データセットを S3 にダウンロードし、EMR ジョブを実行するときに S3 にアクセスしますか? (これまで Amazon のクラウド インフラストラクチャを使用したことがないので、今言ったことに意味があるかどうかはわかりません。)

4

3 に答える 3

4

私は次のことをお勧めします...

  1. EMR クラスターを起動する

    elastic-mapreduce --create --alive --other-options-here

  2. マスターノードにログオンし、そこからデータをダウンロードします

    wget http://blah/data

  3. HDFS にコピー

    hadoop fs -copyFromLocal data /data

元のデータセットを S3 に通す本当の理由はありません。結果を保持したい場合は、クラスターをシャットダウンする前に結果を S3 に移動できます。

データセットが複数のファイルで表されている場合、クラスターを使用してマシン間で並行してダウンロードできます。その場合はお知らせください。手順を説明します。

マット

于 2011-07-09T02:49:50.930 に答える
1

始めたばかりで EMR を試している場合は、インタラクティブな Hadoop セッションを開始する必要がないように (代わりに AWS コンソール経由で EMR ウィザードを使用する)、s3 でこれらが必要になると思います。

最善の方法は、S3 バケットと同じリージョンでマイクロ インスタンスを開始し、wget を使用してそのマシンにダウンロードし、s3cmdなどを使用することです(おそらくインスタンスにインストールする必要があります)。Ubuntu の場合:

wget http://example.com/mydataset dataset
sudo apt-get install s3cmd 
s3cmd --configure
s3cmd put dataset s3://mybucket/

インスタンスと s3 バケットを同じリージョンに配置する理由は、追加のデータ転送料金を回避するためです。wget のインスタンスにバインドされた帯域幅で課金されますが、S3 への xfer は無料です。

于 2011-10-04T21:16:03.203 に答える
0

よくわかりませんが、hadoop はソースから直接ファイルをダウンロードできるように思えます。

入力としてhttp://blah/dataと入力するだけで、あとは Hadoop が処理してくれます。それは確かに s3 で動作しますが、なぜ http で動作しないのでしょうか?

于 2011-09-28T21:44:19.320 に答える