問題タブ [amazon-emr]
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.
hadoop - elephantbird Pig JsonLoaderがファイルの一部のみを処理するのはなぜですか?
私はAmazonのElasticMap-ReduceでPigを使用してバッチ分析を行っています。私の入力ファイルはS3にあり、1行に1つのJSONディクショナリで表されるイベントが含まれています。elephantbirdJsonLoaderライブラリを使用して入力ファイルを解析します。ここまでは順調ですね。
インタラクティブなPigセッションでローカルファイルシステムまたはhdfsに保存されている大きなファイルの処理で問題が発生しています。入力ファイルが分割されるのに十分な大きさである場合、分割の1つだけがelephantbirdによって処理され、分割の最後にエラーメッセージなしで処理が停止するように見えます。S3からの入力をストリーミングする場合(S3入力でファイルが分割されない場合)、またはファイルをPigが直接読み取り可能な形式に変換する場合、同じ問題は発生しません。
具体的な例として、833,138行のファイルは379,751行までしか処理されません(Pigで完了率を見ると、50%までスムーズに進み、その後100%にジャンプします)。また、400,000行のファイルを試してみたところ、正常に処理されました。
だから私の質問は:なぜ象の鳥によって1つの分割だけが処理されるのですか?インタラクティブモードのPigがどのように機能するのか誤解していますか、それとも何かひどく間違っていることがありますか?
amazon-ec2 - Numpyに依存するAmazonElasticMapreduceジョブを実行する方法は何ですか?
Mapreduceジョブのマップ部分はNumpyに依存しています。つまり、ブートストラップアクションの一部としてnumpyをインストールする必要があるということです。
私が考えているのは、ブーストラップアクション中にフェッチおよびインストールされるS3に保存されたカスタムNumpyパッケージを構築することです。
もっと良い方法はありますか?
amazon-ec2 - s3 を fs.default.name または HDFS として使用していますか?
EC2 で Hadoop クラスターをセットアップしていますが、DFS を実行する方法を知りたいです。現在、すべてのデータは s3 にあり、すべての map/reduce アプリケーションは s3 ファイル パスを使用してデータにアクセスしています。今、Amazons EMR がどのように設定されているかを見てきましたが、ジョブフローごとに名前ノードとデータノードが設定されているようです。本当にそのようにする必要があるのか 、それとも s3(n) を DFS として使用できるのか疑問に思っています。もしそうなら、何か欠点はありますか?
ありがとう!
python - Amazon Elastic MapReduce - Python map および reduce コードのフォーマットまたは例
Hadoop と同じかもしれませんが、マップを作成する形式や例を見つけることができず、マップの例の横に Python コードを減らすことができませんでした: http://docs.amazonwebservices.com/ElasticMapReduce/latest/GettingStartedGuide/
しかし、削減コードの例が見つかりませんでした。
Hadoopと同じですか?フォーマットは何ですか?どこかに例はありますか?
amazon-emr - Amazon Elastic Map Reduce: 入力フラグメントのサイズは重要ですか
10 個のインスタンスを使用して 20 Gb の入力を処理する必要があるとします。2Gb の入力ファイルが 10 個あるのと、5Gb の入力ファイルが 4 個あるのは違いますか? 後者の場合、Amazon Elastic MapReduce は 4 つの入力ファイルの負荷を 10 個のインスタンスに自動的に分散できますか? (私のマッパーはルビーを使用して書かれているので、ストリーミングメソッドを使用しています)
apache-pig - Pig: 出力ファイル NAME の形式を変更する
複数の pig スクリプトからの出力を使用するエラスティック mapreduce パイプラインを実行しています。基本的に pig スクリプトの出力は S3 の特定の場所に保存され、データのサイズが巨大であるため、作成される出力ファイルは part-xxxxx という名前になります。
ここでの問題は、パイプラインのステップの 1 つで、2 つの異なる場所からコンテンツをコピーしてそれらをまとめ、このコレクション全体を処理することです。両方の場所にあるファイルの名前が似ているため (part-00000 から part-00342)、コピー プロセス中にファイルが上書きされます。
デフォルトで、pig は出力ファイルを特定の場所にそのようなファイル名の形式で生成します。最初は、豚の出力ファイルをディスクにダウンロードし、Python プログラムを作成して名前を変更し、S3 にアップロードし直していました。膨大な量のデータのため、今はそれを行うことができません。
私は実際にこのコピーを行うパイプライン ステップを所有していません。私が制御できるのは (おそらく) コピーされるファイルの名前だけです)。そのため、pig によって作成されたパーツ ファイルの名前にプレフィックスを付ける方法があるかどうかを知る必要があります。
ありがとう
java - AmazonElasticMapReduceの入力としての複数のファイル
カスタムjarを使用してElasticMapReduce(EMR)でジョブを実行しようとしています。1つのディレクトリで約1000個のファイルを処理しようとしています。パラメータを指定してジョブを送信するとs3n://bucketname/compressed/*.xml.gz
、「matched0files」エラーが発生します。ファイルへの絶対パス(例s3n://bucketname/compressed/00001.xml.gz
)だけを渡すと、正常に実行されますが、処理されるファイルは1つだけです。ディレクトリの名前(s3n://bucketname/compressed/
)を使用して、内部のファイルが処理されることを期待しましたが、それはディレクトリをジョブに渡すだけです。
同時に、小規模なローカルHadoopインストールがあります。その中で、ワイルドカード()を使用してジョブを渡すと、/path/to/dir/on/hdfs/*.xml.gz
正常に機能し、1000個のファイルすべてが正しくリストされます。
EMRにすべてのファイルを一覧表示させるにはどうすればよいですか?
amazon-web-services - Amazon の Elastic Map Reduce の Ruby クライアントを使用して、複数の入力を持つジョブを作成した人はいますか?
UI Amazon のフレームワークでは、複数の --input 行を指定することで、複数の入力を持つジョブを作成できます。例えば:
-input s3n://something -input s3n://something-else
同様に、Ruby EMR クライアントはこれまで非常に役に立ちました: http://aws.amazon.com/developertools/2264
ただし、複数の入力を必要とする夜間ジョブのスクリプトを作成しようとしていますが、これを行う方法が見つからないようです。複数の -input パラメーターを渡すことができず、 --arg または --args を使用すると、作成されるジョブに -input 行が含まれません。まるでそれを剥ぎ取っているかのようです。
このツールをこの目的で使用した人はいますか?
java - java.lang.RuntimeException: Elastic MapReduce で Jar ジョブを実行しようとしたときの java.lang.ClassNotFoundException
次のエラーを修正するには、何を変更する必要がありますか:
Elastic Mapreduce でジョブを開始しようとしていますが、毎回クラッシュして次のメッセージが表示されます。
クラスNewMaxTemperatureMapperが宣言されており、私が確認したところ、s3 にある jar に含まれています。すべてのアプリ クラスのコードは次のとおりです。
NewMaxTemperature.java:
NewMaxTemperatureReducer.java:
NewMaxTemperatureMapper.java:
ここで利用可能なこのクラッシュを取得している jar ファイルを作成しました:ダウンロード jar