問題タブ [elastic-map-reduce]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java での AWS DynamoDB と MapReduce
属性に格納されているデータを集計するために分析したい巨大な DynamoDB テーブルがあります。集計されたデータは、Java アプリケーションで処理する必要があります。MapReduce の背後にある非常に基本的な概念は理解していますが、これまで使用したことはありません。
私の場合、すべての DynamoDB アイテムにcustomerId
and属性があり、同じ顧客に対して複数のアイテムを持つことができるとしましょう。お気に入り:orderNumbers
基本的に、各 customerId の orderNumbers を合計してから、集計を使用して Java でいくつかの操作を実行したいと考えています。
AWS Elastic MapReduce が役立つかもしれませんが、カスタム JAR を DynamoDB に接続する方法がわかりません。私のカスタム JAR はおそらく amap
とreduce
関数の両方を公開する必要があります。実装する適切なインターフェイスはどこにありますか?
さらに、ドキュメントに少し混乱しています。カスタム JAR を実行する前に、まずデータを S3 にエクスポートする必要があるようです。これは正しいです?
ありがとう
elastic-map-reduce - GangliaとAmazonElasticMapReduce-インストールの問題
「ジョブフローでのGangliaの初期化」の手順に従って、クラスターを起動しましたが、Gangliaプロセスが実行されていません(8157)。
http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/init_Ganglia.html
Elastic-mapreduce --create --alive --name "Tom's Daily Hive 8x Flow" --instance-type c1.medium --num-instances 8 --availability-zone us-east-1a --bootstrap-action "s3 :// elasticmapreduce / bootstrap-actions / install-ganglia "--stream
/ tmp/gangliaに0Kファイルがあります-インストール済み
助言がありますか?ありがとう!
amazon-s3 - Amazon EMRでジョブフローを終了/削除するにはどうすればよいですか?
Amazon Elastic MapReduce(Amazon EMR)を使用してジョブフローを作成しましたが、いくつかの不明な理由により失敗しました。次に、AWS Management Consoleを介してジョブフローを終了しようとしましたが、[終了]ボタンが無効になりました。次に、CLIを使用してジョブフローを終了しようとしましたが、ジョブフローが終了していることが示されましたが、CLIおよび管理コンソールの[Elastic MapReduce]タブで表示すると、ジョブフローリストに失敗として表示されます。
リストからジョブフローを削除する方法を教えてください。
ジョブフローをデバッグしようとすると、2つのエラーが表示されます。
- 作成時にAmazonS3ログパスを指定しなかったため、このジョブフローではデバッグ機能を使用できません。
- ジョブフローが次の理由で失敗しました:無効なバケット名'testBucket':バケット名には、小文字、数字、ピリオド(。)、およびダッシュ(-)のみを含める必要があります。
amazon-web-services - スケールアップとスケールアウトのシナリオの Elastic Map reduce のパフォーマンスへの影響
Elastic Map reduce サンプル アプリケーション「Apache Log Processing」を実行しました。
デフォルト: デフォルト構成 (2 つの小規模コア インスタンス) で実行した場合、19 分かかりました
スケールアウト: 次に、次の構成で実行しました: 8 つの小さなサイズのコア インスタンス - 18 分かかりました
スケールアップ: 次に、次の構成で実行しました: 2 つの大きなサイズのコア インスタンス - 14 分かかりました。
より大きなデータセットがある場合のスケールアップとスケールアウトのパフォーマンスについてどう思いますか?
ありがとう。
memory - EMR インスタンスにマッパーと同じ数のレデューサーがないのはなぜですか?
デフォルトでは、EMR ジョブ中、インスタンスはマッパーよりも少ないレデューサーを持つように構成されます。しかし、レデューサーには追加のメモリが与えられていないため、同じ量を持つことができるはずです。(たとえば、特大の高 CPU インスタンスには 7 つのマッパーがありますが、レデューサーは 2 つしかありませんが、マッパーとレデューサーの両方が 512 MB の利用可能なメモリで構成されています)。
これがなぜなのか誰かが知っていますか?マッパーと同じ数のレデューサーを使用するように指定できる方法はありますか?
編集:量が間違っていました.512 MBです
hadoop - EMR を使用せずに DynamoDB と Hive を使用している人はいますか?
DynamoDB でデータをクエリするために Hive を使用する以下の統合を読んでいました。 http://aws.typepad.com/aws/2012/01/aws-howto-using-amazon-elastic-mapreduce-with-dynamodb.html
ただし、そのリンクによると、Hive は EMR の上にセットアップする必要があります。しかし、EMR を使用する代わりに、既に所有しているスタンドアロンの Hadoop クラスターとこの統合を使用できるかどうかを知りたかったのです。誰かがこれをしましたか?EMR を使用する場合と比較して、DynamoDB と HDFS のデータ間の同期の問題は発生しますか?
hadoop - Elastic Mapreduce Map の出力が失われる
Amazon Elastic MapReduce で大規模な (100 ノードを超える) 一連の mapreduce ジョブを実行しています。
削減フェーズでは、既に完了したマップ タスクが失敗し続けます。
これが発生するマッパーの割合は十分に少ないので、問題が発生した場合を除いて、レデューサーはすべて一時停止し、1 つのマップタスクが再実行されるのを待つため、ジョブ全体が毎回 1 ~ 5 分間一時停止し続けます。 .
これはこのバグに関連していると思います -> https://issues.apache.org/jira/browse/MAPREDUCE-2980 これが起こらずに EMR ジョブを実行する方法を知っている人はいますか?
編集:それが助けになるなら、ここにいくつかの詳細があります。入力形式はSequenceFileInputFormat
. 出力形式は、 のわずかに変更されたバージョンですSequenceFileOutputFormat
。キーと値のペアはユーザー定義です (値は大きく、 を実装しますConfigurable
)。はありませんとCombiner
だけです。入力と出力にブロック圧縮を使用しています (また、中間の kv ペアに対してレコード圧縮が行われています。これは EMR のデフォルトです)。コーデックは、私が信じているデフォルトです。最後に、実際には順番に実行される一連のジョブであり、それぞれが前のジョブの出力を次のジョブへの入力として使用します。最初のいくつかのジョブは小さく、問題なく実行されます。これが起こるのは、仕事が本当に大きくなり始めたときだけです。Mapper
Reducer
SnappyCodec
hadoop - クラスターに合計 5 つのノードがある場合、Nutch が 1 つの Hadoop ノードでのみフェッチ ステップを実行するのはなぜですか?
3 つのワーカー ノードを備えた Elastic MapReduce で Nutch を実行しています。私は Nutch 1.4 を使用しており、(ユーザー エージェントを追加した後) 同梱されているデフォルトの構成を使用しています。
ただし、30,000 個のドメインのリストをクロールしているにもかかわらず、解析ステップは 3 つすべてで実行されますが、フェッチ ステップは 1 つのワーカー ノードからのみ実行されます。
3 つのノードすべてからフェッチ ステップを実行するにはどうすればよいですか?
*編集* 問題は、mapred.map.tasks プロパティを Hadoop クラスターのサイズに設定する必要があることでした。これはここに文書化されています
amazon-s3 - Elastic MapReduce ジョブフローが AWS MapReduce で失敗したのはなぜですか?
AWS MapReduce でジョブ フローを作成し、コンテキスト アドバタイジング (Hive スクリプト) のジョブ フローを作成しました - 「インタラクティブな Hive セッションの開始」を実行し、m1.small インスタンスを選択し、VPC サブネット ID なしで続行し、Configure Bootstrap アクションで Hadoop を構成しました。現在、ジョブ フローは開始状態になり、15 ~ 20 分後に失敗状態になり、待機状態にはなりません。「Last State Change Reason: User account is not Authorized to call EC2」と表示されます。 IAM を介して自分自身に PowerUserAccess を与えました。また、私は自分自身に以下のポリシーを与えました。
1.AmazonEC2FullAccess 2.AmazonElasticMapReduceFullAccess 3.IAMFullAccess
これらすべてのポリシーを適用した後も、「ユーザー アカウントは EC2 を呼び出す権限がありません」と表示されます。
ガイドしてください。ありがとう。
python - AWS ElasticMapReduceでファイルがキャッシュされない
AWSElasticMapReduceで次のMapReduceを実行しています。
./elastic-mapreduce --create --stream --name CLI_FLOW_LARGE --mapper s3://classify.mysite.com/mapper.py --reducer s3://classify.mysite.com/reducer.py --input s3n://classify.mysite.com/s3_list.txt --output s3://classify.mysite.com/dat_output4/ --cache s3n://classify.mysite.com/classifier.py#classifier.py- cache-archive s3n://classify.mysite.com/policies.tar.gz#policies --bootstrap-action s3://classify.mysite.com/bootstrap.sh --enable-debugging --master-instance-type m1.large --slave-instance-type m1.large --instance-type m1.large
何らかの理由で、cacheFileclassifier.py
がキャッシュされていないように見えます。reducer.py
インポートしようとすると、次のエラーが発生します。
classifier.py
に最も確実に存在しs3n://classify.mysite.com/classifier.py
ます。価値のあることとして、ポリシーアーカイブは問題なく読み込まれるようです。