0

私は大学のプロジェクトでAmazonsMapReduceWebサービスを使用しています。MapReduceのデータを使用するには、リレーショナルデータベース(AWS RDS)からS3にデータをダンプする必要があります。MapReduceが終了したら、出力ファイルを分割して、そのチャンクを独自のS3バケットにロードする必要があります。

アマゾンウェブサービス環境内でこれを行うための良い方法は何ですか?

ベストケース:これは、RDSとMapReduceに使用されるもの以外に追加のEC2インスタンスを使用せずに達成できますか?

マッパー関数とレデューサー関数にはpythonを使用し、MapReduceジョブフローにはjson指定子を使用します。そうでなければ、私は言語やテクノロジーに縛られていません。

4

1 に答える 1

2

Amazon Elastic MapReduce 開発者ガイドを見ると、MapReduce ジョブ フローを作成するために、S3 で入力データ、出力データ、マッパー スクリプト、レデューサー スクリプトの場所を指定する必要があります。

前処理 (データベースから MapReduce 入力ファイルをダンプするなど) または後処理 (MapReduce 出力ファイルを S3 の他の場所に分割するなど) を行う必要がある場合は、それらのタスクとは別に自動化する必要があります。 MapReduce ジョブ フロー。

botoライブラリを使用して、これらの前処理スクリプトと後処理スクリプトを作成できます。これらは、EC2 インスタンスまたは S3 バケットにアクセスできる他のコンピューターで実行できます。EC2 からのデータ転送は安価で高速な場合がありますが、これに使用できる EC2 インスタンスがない場合は、転送するデータが多すぎない限り、自分のコンピューターでスクリプトを実行できます。

自動化を使って、好きなだけ進めることができます。入力を生成し、新しい MapReduce ジョブ フローを起動し、ジョブが終了するのを待って、それに応じて出力を処理するというプロセス全体を調整することもできます。ボタンを押すだけです:)

于 2011-01-13T22:39:18.597 に答える