問題タブ [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.
amazon-ec2 - Hive ジョブが強制終了され、クエリ execute() がハングしたままになる
hive-jdbc-0.7.1-cdh3u5.jar を使用しています。EMR でメモリを大量に消費するクエリを実行していて、失敗することがあります。ジョブ トラッカーを見ると、クエリが強制終了されていることがわかり、次のエラーが表示されます。
java.io.IOException: ゼロ以外のステータス 137 でタスク プロセスが終了しました
ただし、Hive JDBC ドライバーの execute() 呼び出しはこれを検出せず、ハングしたままになります。例外はキャッチされません。何か案は?ありがとう:
hadoop - Hive を使用して、または使用せずに Amazon EMR でログを処理する
EMR クラスターのパス「hdfs:///logs」に多数のログ ファイルがあります。各ログ エントリは複数行ですが、2 つのエントリを区別するための開始マーカーと終了マーカーがあります。今、
- ログ ファイルのすべてのエントリが役立つわけではありません
- 後で出力ログを (Hive を使用して) 効率的にクエリできるように、有用なエントリを変換し、出力を出力ファイルに保存する必要があります。
ログファイルを取得して一部を実行できるPythonスクリプトがあります。そしてb。上で述べましたが、私はマッパーやリデューサーを書いていません。
Hive は、そのクエリのために Mapper と Reducer を処理します。Python スクリプトを使用してすべてのログに対して実行し、出力を 'hdfs:///outputlogs' に保存することが可能かどうか、またその方法を教えてください。
私は Map Reduce を初めて使用し、Word カウントの例をいくつか見てきましたが、それらはすべて 1 つの入力ファイルを持っています。複数の入力ファイルを持つ例はどこにありますか?
mapreduce - AmazonのElasticMapReduceジョブをスケジュールするためのツール/方法
EMRを使用して新しいインスタンスを作成し、ジョブを処理してから、インスタンスをシャットダウンします。
私の要件は、定期的に仕事をスケジュールすることです。簡単な実装の1つは、クォーツを使用してEMRジョブをトリガーすることです。しかし、より長い実行を見ると、すぐに使用できるmapreduceスケジューリングソリューションを使用することに興味があります。私の質問は、EMRまたはAWS-SDKによって提供される、要件に使用できるすぐに使用できるスケジューリング機能はありますか?自動スケーリングにスケジューリングがあることがわかりますが、代わりにEMRジョブフローをスケジュールしたいと思います。
amazon-ec2 - EMR - スポット インスタンスを使用した活用
スポット インスタンスに入札して、通常のインスタンスよりも低価格で入手できることは承知していますが、スポット インスタンスでは、お客様のインスタンスが取り消されるリスクがあります。
私たちの仕事が終わったときにのみそれらが取り除かれることを確実にする方法はありますか?
hbase - Pig を使用して Hbase テーブルを結合する
Amazon EMR で Pig を使用して 2 つの HBase テーブルを結合しようとしています。
上記のコードを実行すると、以下の例外がスローされます。
何が間違っていて、それを修正する方法はありますか?
hadoop - Hadoop 0.20.2から0.20.205へ、および0.20.2から1.0.1への移行に必要な労力はどれくらいですか?
私は主に多くの問題に直面しているため、EMR実装を古いバージョンから最新バージョンに移行しようとしていました。
私の現在の実装では、Hadoop0.20.2を使用しています。
0.20.2から-に移行するには、コード変更に関してどれだけの労力が必要になるかを理解したかったのです。
- 0.20.205
- 1.0.1
APIは非常に異なり、多くの再コーディングが必要ですか?基本的なアイデアは非常に役立ちます。
hadoop - MapReduce は複数の入力ファイルからどのように読み取りますか?
私は、データを読み取り、それをHDFS
使用して書き込むコードを開発していますmapreduce
。ただし、複数のファイルがある場合、それがどのように処理されるかわかりません。マッパーへの入力パスは、次の出力から明らかなように、ディレクトリの名前です。
では、ディレクトリ内のファイルをどのように処理するのでしょうか?
hadoop - 1億ファイルをs3に書き込む
私の主な目的は、各レコードの ID に従ってレコードをファイルに分割することです。現在、150 億を超えるレコードがあり、確実に増加する可能性があります。Amazon EMR を使用したスケーラブルなソリューションが必要です。約 9 億件のレコードを持つ小規模なデータセットについては、既にこれを行っています。
入力ファイルはcsv形式で、フィールドの1つが出力のファイル名である必要があります。したがって、次の入力レコードがあるとします。
これで、2 つのファイルが出力されます。1 つは という名前awesomeID1.dat
で、もう1 つは という名前でawesomeID2.dat
、それぞれの ID に関連するレコードが含まれています。
入力のサイズ: 1 か月あたり合計 600 GB (gzippef ファイルのサイズ)、各ファイルは約 2 3 GB です。そして、一度に約6か月以上処理する必要があります。したがって、合計データ サイズは 6*600 GB (圧縮) になります。
以前は、id 値に従って s3 に書き込むためToo many open files
に使用していたときにエラーが発生していました。FileByKeyTextOutputFormat extends MultipleTextOutputFormat<Text, Text>
次に、ここで説明したように、すべてのファイルを直接 s3 に書き込むのではなく、ローカルに書き込み、1024 個のファイルのバッチで s3 に移動しました。
しかし、データ量が増えたため、s3 から次のメッセージが表示され、問題のファイルの書き込みがスキップされます。"Please reduce your request rate."
また、200 台の m1.xlarge マシンを含むクラスターで実行する必要があるため、約 2 時間かかります。も非常に高価です!
将来、データ量が再び増加しても失敗しないスケーラブルなソリューションが必要です。
助言がありますか?
fonts - EMR_FORCEUFIMAPPING と EMR_GDICOMMENT を処理するには?
EMF を PDF に変換していますが、問題のある分野に入りました。やなどの文書化されていない EMR 構造を含む EMF スプール ファイルがいくつか EMR_FORCEUFIMAPPING
ありEMR_GDICOMMENT
ます。
MSDN はこれらのレコードについてあまり詳しく説明していないため、これらのキーワードを検索しても答えを見つけることができませんでした。私が知っているように、これらのレコードは、生成された PDF にフォントを埋め込むのに役立ちます。この分野で経験のある人はいますか?いくつかの本、チュートリアル、ソースコードリポジトリ、またはいくつかの例をお勧めできますか?
これらの記録をどのように処理しますか?
ありがとうございました。
python - EMR 長時間出力なし
MRJob ライブラリを使用して Python で記述された MapReduce ジョブがあります。このジョブは、ローカル マシンで完了するまでに約 30 分かかります。EMR で同じジョブを実行している間、出力が長時間 (~=1 時間) 表示されません。私は仕事を閉めなければなりませんでした。また、私のローカル マシンでは非常に短時間しかかからないジョブも、EMR では非常にうまく実行されます。タイムアウトを増やしてみましたが、タイムアウト後にタスクトラッカーがレデューサーを強制終了します。次のエラー メッセージが表示されます
EMR は私の仕事のために 4 つのマッパーと 1 つのレデューサーを作成します。また、私が書いたレデューサー コードでは、約 11 ~ 12 MB のデータ セット全体を何度もループする必要があります。ローカル マシンとほぼ同じ時間でジョブが終了することを期待していますが、そうではありません。解決策は??`