問題タブ [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.
amazon-web-services - Amazon Elastic Map Reduce-サーバーを存続させますか?
私はEMRでジョブをテストしていますが、すべてのテストの開始には多くの時間がかかります。Amazon EMRでサーバー/マスターノードを存続させる方法はありますか?私はこれがAPIで実行できることを知っています。しかし、これがawsコンソールで実行できるかどうか知りたいですか?
streaming - Hadoop ストリーミングの最大行長
私は Amazon Elastic Map Reduce の Hadoop ストリーミング ワークフローに取り組んでおり、いくつかのバイナリ オブジェクトをシリアル化し、それらを Hadoop にストリーミングする必要があります。Hadoop には、ストリーミング入力の最大行長がありますか?
ますます大きな行でテストし始めましたが、最初にここで質問することにしました。
amazon-ec2 - Amazon Elastic Mapreduce 上で Hive を使用して、Amazon Simple DB でデータを処理するにはどうすればよいですか?
Amazon Simple DB Domain に大量のデータがあります。Elastic Map Reduce (hadoop 上) で Hive を起動し、simpledb からデータをインポートするか、simpledb に接続して hiveql クエリを実行したいと考えています。データのインポートに問題があります。ポインタはありますか?
hadoop - Hadoop ストリーミングと AMAZON EMR
Amazon EMR で Hadoop ストリーミングを使用して、一連のテキスト ファイルの単純な単語数をカウントしようとしています。Hadoop ストリーミングと Amazon の EMR を処理するために、非常に単純化されたデータ セットも使用しました。各テキスト ファイルには 1 行のテキストしかありません (1 行には任意の数の単語を含めることができます)。
マッパーは R スクリプトで、行を単語に分割し、ストリームに吐き出します。
cat(wordList[i],"\t1\n")
カウントを加算するために LongValueSum Aggregate Reducer を使用することにしたので、マッパー出力の前に LongValueSum を付ける必要がありました。
cat("LongValueSum:",wordList[i],"\t1\n")
レデューサーを「集約」に指定します
私が今持っている質問は次のとおりです。
マッパーとリデューサーの間の中間段階で、ストリームをソートするだけです。キーで実際に結合するわけではありません。私は正しいですか?マッパーが出力する単語のプレフィックスとして「LongValueSum」を使用しない場合、リデューサーでキーでソートされたストリームを受け取るだけで、集約されないため、これを尋ねます。つまり、リデューサーでの (K, list(Values)) とは対照的に、K によって注文されたものを受け取るだけです。コマンドでコンバイナーを指定する必要がありますか?
他の集計リデューサーはどのように使用されますか。なるほど、http://hadoop.apache.org/mapreduce/docs/r0.21.0/api/org/apache/hadoop/mapred/lib/aggregate/package-summary で利用可能な他の多くのレデューサー/集約/コンバイナー。 html
これらのコンバイナーとリデューサーは AMAZON EMR セットアップでどのように指定されていますか?
この種の問題は、コンバイナーの Hadoop ストリーミングで報告され、修正されていると思いますが、AMAZON EMR がホストしているバージョンと、この修正が利用可能なバージョンはわかりません。
- カスタム入力フォーマットとレコード リーダーとライターはどうですか。Javaで書かれたライブラリがたくさんあります。これらのオプションごとに Java クラス名を指定するだけで十分ですか?
r - Amazon Elastic MapReduce での R マッパー スクリプトのトラブルシューティング - 期待どおりの結果が得られない
Amazon Elastic Map Reduceを使用して、数百万ケースの一連のシミュレーションを実行しようとしています。これは、リデューサーのない Rscript ストリーミング ジョブです。EMR コールで Identity Reducer を使用しています--reducer org.apache.hadoop.mapred.lib.IdentityReducer
。
スクリプト ファイルは、1 行の文字列を手動で渡すときに Linux ボックスのコマンド ラインからローカルでテストおよび実行すると正常に動作し、echo "1,2443,2442,1,5" | ./mapper.R
期待どおりの 1 行の結果が得られます。しかし、EMR の入力ファイルから約 10,000 ケース (行) を使用してシミュレーションをテストしたところ、10,000 行の入力行のうち、12 行程度しか出力されませんでした。何度か試しましたが、原因がわかりません。Hadoop ジョブはエラーなしで正常に実行されます。入力行がスキップされているか、ID レデューサーで何かが起こっているようです。出力がある場合の結果は正しいです。
私の入力ファイルは、次のデータ形式の csv で、カンマで区切られた一連の 5 つの整数です。
これがmapper.RのRスクリプトです
このシミュレーションの (一般化された) EMR 呼び出しは次のとおりです。
これらの問題が発生している理由について誰かが洞察を持っている場合は、提案や、R スクリプトの変更/最適化を歓迎します。
私の他のオプションは、スクリプトを関数に変換し、R マルチコア パッケージを使用して並列化された適用を実行することですが、まだ試していません。これをEMRで動作させたいと思います。スクリプト作成の基礎として、JD Longと
python - ボトエラスティックmapreducejarジョブフローパラメーターの何が問題になっていますか?
botoライブラリを使用して、Amazons Elastic MapReduce Webサービス(EMR)でジョブフローを作成しています。次のコードでステップを作成する必要があります。
ジョブフローを実行すると、常に次のエラーのスローに失敗します。
これは、Javaコードを呼び出すEMRログの行です。
パラメータの何が問題になっていますか?Javaクラスの定義はここにあります:
amazon-s3 - ディレクトリをzipファイルとしてElasticMapReduceからS3にアップロードする
EMRローカルファイルシステムからs3にzipファイルとしてディレクトリをアップロードしたいと思います。
私が現在使用している方法よりも、これにアプローチするためのより良い方法はありますか?
ZipOutputStreamをReducer出力として返すことは可能でしょうか?
ありがとう
python - Hadoop MapReduce スクリプトで外部ライブラリをインポートする
Amazons EMR Hadoop 実装の上で Python MapReduce スクリプトを実行しています。メイン スクリプトの結果として、アイテム アイテムの類似性が得られます。アフターケアのステップで、この出力をアイテムごとに個別の S3 バケットに分割して、各アイテム バケットに類似したアイテムのリストが含まれるようにします。これを実現するために、アフターケア ステップの reduce 関数で Amazon の boto python ライブラリを使用したいと考えています。
- 外部 (python) ライブラリを Hadoop にインポートして、python で書かれた削減ステップで使用できるようにするにはどうすればよいですか?
- Hadoop 環境内でその方法で S3 にアクセスすることは可能ですか?
前もって感謝します、トーマス
hadoop - LZO で圧縮されたシーケンス ファイルで Hadoop ストリーミングを使用する方法
Amazon の Elastic Map Reduce を使用して、Google ngrams データセットをいじろうとしています。http://aws.amazon.com/datasets/8172056142375670にパブリック データセットがあり、Hadoop ストリーミングを使用したいと考えています。
入力ファイルについては、「Amazon S3 の単一のオブジェクトにデータセットを保存します。ファイルは、ブロック レベルの LZO 圧縮を使用したシーケンス ファイル形式です。シーケンス ファイルのキーは、LongWritable として保存されたデータセットの行番号であり、値は、TextWritable として保存された生データです。"
これらの入力ファイルを Hadoop ストリーミングで処理するには、何をする必要がありますか?
引数に追加の「-inputformat SequenceFileAsTextInputFormat」を追加しようとしましたが、これはうまくいかないようです。何らかの理由でジョブが失敗し続けます。私が見逃している他の議論はありますか?
マッパーとリデューサーの両方として非常に単純な ID を使用してみました
しかし、これは機能しません。
amazon-s3 - 大規模なデータセットを amazon エラスティック マップに取得する
Amazon EMR を使用して試してみたい大規模なデータセット (25 GB 以上、インターネットでダウンロード可能) がいくつかあります。データセットを自分のコンピューターにダウンロードしてから Amazon に再アップロードする代わりに、データセットを Amazon に取得する最良の方法は何ですか?
EC2 インスタンスを起動し、インスタンス内から (wget を使用して) データセットを S3 にダウンロードし、EMR ジョブを実行するときに S3 にアクセスしますか? (これまで Amazon のクラウド インフラストラクチャを使用したことがないので、今言ったことに意味があるかどうかはわかりません。)