問題タブ [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 - レデューサーごとに 1 つのキーを確保する Hadoop ストリーミング
データの処理中に出力を3つの異なるタイプに分類するマッパーがあります(タイプは出力キーです)。私の目標は、レデューサーを介して 3 つの異なる csv ファイルを作成し、それぞれにヘッダー行を持つ 1 つのキーのすべてのデータを作成することです。
キー値は変更可能で、テキスト文字列です。
さて、理想的には、3 つの異なるレデューサーが必要であり、各レデューサーは値のリスト全体で 1 つのキーのみを取得します。
ただし、キーが特定のレデューサーにマップされないため、これは機能しないようです。
他の場所でのこれに対する答えは、必要な各キー値を特定のレデューサーにマップするカスタム パーティショナー クラスを作成することでした。Pythonでストリーミングを使用する必要があり、ジョブにカスタムストリーミングjarを含めることができないため、これはオプションではないように思われることを除いて、これは素晴らしいことです。
Hadoop のドキュメントで、セカンダリ ソートを有効にできる代替のパーティショナー クラスがあることがわかりますが、デフォルトまたはキー フィールド ベースのパーティショナーのいずれかを使用して、各キーが確実に終了するようにすることが可能であることはすぐにはわかりません。Java クラスを作成したり、カスタム ストリーミング jar を使用したりせずに、独自のレデューサーを使用します。
どんな提案でも大歓迎です。
例:
マッパー出力:
csv2\tfieldA,fieldB,fieldC csv1\tfield1,field2,field3,field4 csv3\tfieldRed,fieldGreen ...
問題は、3つのレデューサーがある場合、次のようなキー配布になることです:
1 つのレデューサーは 2 つの異なるキー タイプを取得し、1 つのレデューサーはデータをまったく送信しません。これは、hash(key csv1) mod 3 と hash(key csv2) mod 3 が同じ値になるためです。
amazon-s3 - AmazonEMRでのストリーミングジョブフローに関する質問
Amazon EC2 + S3 + RDS + EMRを使用して、非常に複雑なデータ処理システムを作成する必要があります。いくつかの一般的な質問があります。
- Rを使用する必要があり、次にストリーミングジョブフローを使用する必要があります。つまり、Hiveの機能が失われ、EMRジョブの上でHiveクエリを実行してそのデータを処理できなくなるということですか?
- 複数のジョブフローを実行して操作することはできますか?
- 依存ジョブを使用するにはどうすればよいですか?
- 完了したら、ジョブを再実行できますか?一度は計算したくない、データに応じて進化させたい。
- 変数をジョブに渡すことはできますか?
- これを自動化する正しい方法は何ですか?
amazon-s3 - ハイブ クエリの結果が複数のファイルに分割されるのはなぜですか
Hive クエリを実行するように Amazon ElasticMapreduce ジョブを設定しています
ジョブが終了すると、S3 に設定されている出力場所にはtask_201110280815_0001_r_00000x
、x が 0 から 4 までのパターンを持つ 5 つのファイルが含まれます。ファイルは小さく、それぞれ 35 KB です。
結果を単一のファイルに保存するようにハイブに指示することは可能ですか?
python - ボト:完了/失敗後にEMRジョブフローを実行し続ける方法は?
完了後にジョブフローを終了せずに、botoを使用して待機中のAmazon EMRジョブフローにステップを追加するにはどうすればよいですか?
AmazonのElasticMapReduceでインタラクティブなジョブフローを作成し、いくつかのテーブルをロードしました。Botoを使用してジョブフローに新しいステップを渡すと、ジョブemr_conn.add_jobflow_steps(...)
フローは、終了または失敗した後に終了します。
run_jobflow
パラメータを使用してbotoでジョブフローを開始できることはわかってkeep_alive
いますが、すでに実行されているフローを操作したいと思います。
python - EC2 で mapreduce ジョブを実行するときにファイル名を取得するには?
私は伸縮性のある mapreduce を学んでおり、Amazon チュートリアル セクション (以下に示すコード) で提供されている Word Splitter の例から始めました。この例では、提供されたすべての入力ドキュメントのすべての単語の単語数を生成します。
しかし、ファイル名ごとに Word Counts の出力を取得したいと考えています。つまり、特定の 1 つのドキュメント内の単語数です。単語カウントの python コードは stdin から入力を取得するため、どの入力行がどのドキュメントからのものかをどのように判断すればよいですか?
ありがとう。
hive - Hive HQL構文を検証しますか?
基本的な構文ミスなどのエラーについてHiveQLステートメントを検証するプログラム的な方法はありますか?デバッグ時間を節約するために、ステートメントをElasticMapReduceに送信する前にチェックしたいと思います。
hadoop - AmazonMapReduceでコンパイルされたバイナリを呼び出す
AmazonElasticMapReduceでデータ分析を行おうとしています。マッパーステップは、「。/formatData」と呼ばれるコンパイル済みC++バイナリへの呼び出しを含むPythonスクリプトです。例えば:
Amazon EMRでこのようなバイナリ実行可能ファイルを呼び出すことはできますか?もしそうなら、バイナリをどこに保存しますか(S3で?)、どのプラットフォームでコンパイルする必要があり、マッパースクリプトがバイナリにアクセスできるようにする方法(理想的には現在の作業ディレクトリにあります)。
ありがとう!
amazon-s3 - EMR map/reduce タスクから直接 S3 にアクセスする
EMR マップ タスクから s3 バケットに直接書き込む方法を見つけようとしています。インターネットからデータを取得してs3に保存するpythonストリーミングジョブを実行したいと思います-ジョブを減らすためにデータを戻さずに。誰でもそれで私を助けることができますか?
amazon-ec2 - EC2スポットインスタンス(Ruby CLI)を使用するようにAmazon EMRストリーミングジョブを設定するにはどうすればよいですか?
Rubyコマンドラインインターフェイスを使用してAmazonElasticMapReduce(Amazon EMR)でストリーミングジョブを作成する場合、EC2スポットインスタンス(マスターを除く)のみを使用するように指定するにはどうすればよいですか?以下のコマンドは機能していますが、少なくとも1つのコアインスタンスを使用するように「強制」されています...
ありがとう
hadoop - Windows から amazon のエラスティック mapreduce (emr) クラスターで mapreduce ジョブを実行する方法は?
Amazon の EMR で Java Map/Reduce (M/R) ジョブを実行する方法を学習しようとしています。私がフォローしているドキュメントはこちらhttp://aws.amazon.com/articles/3938です。私はWindows 7コンピューターを使用しています。
このコマンドを実行しようとすると、ヘルプ情報が表示されます。
もちろん、私は Windows マシンを使用しているので、実際にこのコマンドを入力します。理由はわかりませんが、この特定のコマンドについては、Windows バージョンがありませんでした (すべてのコマンドはペアで表示され、1 つは *nix 用で、もう 1 つは Windows 用です)。
私の質問は、コマンド ライン インターフェイス (Windows 上) を使用して、Windows から Amazon の EMR にジョブを送信/実行する方法です。オンラインで検索してみましたが、野生の場所に連れて行かれます。どんな助けでも大歓迎です。
ありがとう。