問題タブ [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.

0 投票する
3 に答える
3175 参照

java - Amazon(EMR)で使用されているHadoopのバージョンはどれですか?

Hadoopジョブを作成し、EC2MapReduceで実行したいと思います。また、EC2にアップロードする前にローカルでジョブを実行したいと思います。

ローカルで使用する必要があるHadoopのバージョン/タイプはどれですか?Cloudera VMを使用できますか?Amazonが使用しているHadoopのバージョンはどれですか?

0 投票する
2 に答える
695 参照

jar - EMR で mahout RecommenderJob を実行する

Amazon EMR で RecommenderJob を実行しようとしています。SmartJukebox.jar (実行不可) という jar があり、クラス main.TrackRecommander が含まれています (それだけです)。

jar を使用してジョブ フローを作成しました。

s3n://smartjukebox/SmartJukebox.jar

および引数:

main.TrackRecommander --input s3n://smartjukebox/ratings.csv --output s3n://smartjukebox/output --usersFile s3n://smartjukebox/user.txt.

クラス TrackRecommander はクラス RecommenderJob を使用します。

ジョブフローを実行すると、エラーログにこれが表示されます -

スレッド「メイン」の例外 java.lang.NoClassDefFoundError: org/apache/mahout/cf/taste/hadoop/item/RecommenderJob at main.TrackRecommander.main(TrackRecommander.java:136) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native) Method) で sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) で java.lang.reflect.Method.invoke(Method.java:597) でorg.apache.hadoop.util.RunJar.main(RunJar.java:156) 原因: java.lang.ClassNotFoundException: org.apache.mahout.cf.taste.hadoop.item.RecommenderJob at java.net.URLClassLoader$1. java.security.AccessController.doPrivileged(Native Method) で (URLClassLoader.java:202) を実行し、java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 6 もっと見る

JVM が RecommenderJob を見つけることができず、RecommenderJob を jar に入れていないことがわかりました。EMR には mahout jar が組み込まれていると思いましたが、それについては何も見つかりません。

ここでの解決策は何ですか?

ありがとう。

0 投票する
2 に答える
2761 参照

amazon-s3 - EMR を使用して異なるアカウント間で dynamoDB テーブルをコピーする

ある DynamoDB アカウントに、別のアカウントに転送したい情報のテーブルが多数あります。http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/EMRforDynamoDB.htmlのように、EMR を使用して 1 つのアカウント内でテーブルをコピーできることがわかりましたが、異なるアカウント間で転送する方法はありますか?

0 投票する
1 に答える
896 参照

java - Hadoop MapReduce とのペアワイズ比較

1 行に 1 つの文字列を含む大きなテキスト ファイル (5 GB) があります。独自のアルゴリズムを使用して、各行を他のすべての行と比較する必要があります。MapReduce は初めてですが、Java の経験があります。問題を引き起こしている問題は、個別のマップ入力を作成することです。ドキュメントは、各行が他の行に依存していないという前提で書かれているようです。これを行う最善の方法は何ですか?

0 投票する
2 に答える
1140 参照

ruby - SequenceFileを使用したHadoopストリーミング(AWS上)

AWSでHadoopを使用して処理したいHadoopシーケンスファイルが多数あります。私の既存のコードのほとんどはRubyで書かれているので、AmazonEMRでカスタムRubyMapperおよびReducerスクリプトと一緒にHadoopストリーミングを使用したいと思います。

シーケンスファイルをHadoopストリーミングと統合する方法、および入力がRubyスクリプトに提供される方法に関するドキュメントが見つかりません。SequenceFilesを利用するためにジョブを(EMRで直接、または通常のHadoopコマンドラインで)起動する方法に関するいくつかの指示と、データがスクリプトに提供されることを期待する方法に関するいくつかの情報をいただければ幸いです。

-編集:以前、SequenceFilesではなくStreamFilesを誤って参照していました。私のデータのドキュメントは間違っていたと思いますが、お詫びします。変更すれば答えは簡単です。

0 投票する
2 に答える
3396 参照

python - Amazon Elastic MapReduce-SIGTERM

私はEMRストリーミングジョブ(Python)を持っていますが、これは通常は正常に機能します(たとえば、10台のマシンが200個の入力を処理します)。ただし、大規模なデータセット(12台のマシンが合計6000の入力を処理し、入力ごとに約20秒)に対して実行すると、2.5時間のクランチの後、次のエラーが発生します。

これを正しく読んでいると、誰かがSIGTERMシグナルをストリーミングジョブに送信したため、サブプロセスがコード143で失敗しました。

私の理解は正しいですか?その場合:EMRインフラストラクチャはいつSIGTERMを送信しますか?

0 投票する
2 に答える
883 参照

r - RDS から Elastic MapReduce + Hive への移行は正しい選択ですか?

まず第一に、私は初心者であることを明確にし、質問で正しい用語を使用していない場合は言い訳をしなければなりません。

これは私のシナリオです:

ツイート、コメント、メールなどの大量のテキストを分析する必要があります。現在、データは発生時に Amazon RD MySQL インスタンスに挿入されています。

後で、そのデータに対して RTextTools ( http://www.rtexttools.com/ ) を使用して R ジョブをローカルで実行し、目的の結果を出力します。この時点で、R スクリプトがデータを分析し、データを表示するために後で使用される MySQL テーブルにデータを書き戻すことを明確にすることが重要な場合があります。

私が最近抱えている問題は、ジョブを実行するたびに約 1 時間かかり、少なくとも 1 日に 2 回実行する必要があることです...そのため、ローカル コンピューターを使用することはもはや選択肢ではありません。

代替手段を探して、Amazon Elastic MapReduce インスタンスについて読み始めましたが、これは一見必要なもののように見えますが、ここで質問と混乱を開始します。

  1. EMR のデータは S3 バケットから取得する必要があると読みました。その場合、RDS インスタンスではなく、S3 バケット内の JSON などにデータを保存する必要がありますよね?
  2. この時点で、HIVE テーブルを作成し、RHive を使用してデータを読み取り、RTextTools がジョブを実行して結果を RDS テーブルに書き戻すことをお勧めしますが、これは正しいですか?
  3. そして、最後の最も重要な質問です。R を使用して EC2 インスタンスを実行し、そこで R スクリプトを実行するのと比較して、このすべての問題を解決する価値はありますか?計算時間を短縮できますか?

お時間をいただきありがとうございます。正しい方向へのヒントをいただければ幸いです。

0 投票する
1 に答える
2757 参照

amazon-s3 - EMR ファイルを 1 つに結合する方法は?

大きなバイナリ ファイルを (2Gb) チャンクに分割し、Amazon S3 にアップロードしました。今、それを 1 つのファイルに結合して、カスタムで処理したい

走ってみた

しかし、ローカル端末への -cat 出力データが原因で失敗しました - リモートでは動作しません...

どうすればこれを行うことができますか?

PS私は猫をストリーミングMRジョブとして実行しようとしました:

この仕事は無事に終わりました。しかし。dir/in に 3 つのファイル パーツがありましたが、現在は /dir/out に 6 つのパーツがあります。

そして、私の出力の一部ではないファイル_SUCCESS ofcource...

そう。ファイルの前に分割された結合方法は?

0 投票する
1 に答える
867 参照

java - s3 jar ファイルを参照する Elastic MapReduce libjars 引数

Amazon でカスタム jar EMR ジョブを実行しようとしていますが、jar ファイルに lucene jar ファイルへの参照があります。s3 の lib ディレクトリに jar ファイルがあり、Jar 引数は次のようになります。

ジョブが失敗し、次のエラーが発生し続けます。

java.lang.NoClassDefFoundError: org/apache/lucene/analysis/Analyzer at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at org.apache.hadoop.conf .Configuration.getClassByName(Configuration.java:861) at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:906) at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:932) at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:932) org.apache.hadoop.mapred.JobConf.getMapperClass(JobConf.java:959) at org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:34) ... 14 以上原因: java.lang.ClassNotFoundException : org.apache.lucene.analysis.Analyzer at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java) :190) java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 21 詳細

lucene jar ファイルが見つからないようです...何が欠けていますか?

0 投票する
2 に答える
1165 参照

hive - インスタンス数を増やしても Hive クエリの速度が上がらない理由

Amazon の Elastic MapReduce で Hive を使用してテーブルを作成し、データをインポートしてパーティション分割しました。ここで、テーブル フィールドの 1 つから最も頻繁に使用される単語をカウントするクエリを実行します。

1 つのマスター インスタンスと 2 つのコア インスタンスがあり、計算に 180 秒かかったときに、そのクエリを実行しました。次に、1 つのマスターと 10 のコアを持つように再構成しましたが、これも 180 秒かかりました。なぜ速くしないのですか?

2 コアと 10 コアで実行すると、ほぼ同じ出力が得られます。