問題タブ [elastic-map-reduce]
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.
solr - Map/Reduce を使用して Solr インデックスを作成する方法について提案が必要です
私はMap/Reduceの世界にかなり慣れていないので、Solrでインデックスを作成するためにそれを活用できるかどうかを判断するための最良のオプションを評価しようとしています. 現在、定期的なクロールを使用してデータを取得し、Solr で直接インデックスを作成しています。これは問題なく動作しています。
しかし今後は、Amazon S3 にあるかなりのデータにアクセスする必要があります。現在 S3 に保存されている約 500 万のデータがあり、インデックスを作成する必要があります。Amazon Elastic Map/Reduce (EMR) を使用して S3 からコンテンツに直接アクセスし、その後 Solr でインデックスを作成することを考えています。データ構造は単純で、url (一意) は S3 キー、値は XML ファイルです。URL は Solr のドキュメント ID として使用され、XML データの関連部分は Solr インデックスのフィールドとして保存されます。
私の質問は、EMR が正しいアプローチであるかどうかです。タスクは、S3 からデータにアクセスし、XML から特定の要素を抽出し、何らかの処理を行ってから、Solr API を呼び出してインデックスを生成することです。処理部分では、データにインデックスを付ける前に、いくつかのクラス (おそらくコマンド パターンのチェーン) が必要です。それは達成可能なものですか?レデューサーが必要ですか、それともマッパーを使用してプロセスを実行できますか? レデューサーが必要な場合、その範囲はどうなりますか? 現在、データを格納している単一のインデックスがあります。
これに関する指針は高く評価されます。
ありがとう
java - Java アプリケーションで Elastic MapReduce ジョブ フローの完了を待つにはどうすればよいですか?
最近、私はアマゾン ウェブ サービス (AWS) を使用していますが、この件に関するドキュメントがあまりないことに気付いたので、私のソリューションを追加しました。
Amazon Elastic MapReduce (Amazon EMR) を使用してアプリケーションを作成していました。計算が終了した後、作成されたファイルに対していくつかの作業を実行する必要があったため、ジョブ フローがいつ作業を完了したかを知る必要がありました。
これは、ジョブ フローが完了したかどうかを確認する方法です。
特定のジョブ ID を検索して、DescribeJobFlowsRequest
そのジョブが終了したか失敗したかを確認することもできます。
他の人に役立つことを願っています。
hadoop - AWS Elastic Map Reduce: SimpleDB への出力
Elastic Map Reduce の出力を SimpleDB に取得する最も効率的な方法は何ですか?
結果を S3 に出力してダウンロードし、スクリプトで結果を解析して SimpleDB に挿入するだけでよいことはわかっています。
しかし、EMR 出力を SimpleDB に直接挿入できる簡単で高速な方法はありますか (時間と効率の理由から)?
elastic-map-reduce - Elastic MapReduce が次のエラーで失敗する: 1: 構文エラー: "(" 予期しない
x86 Debian Squeeze ボックスで (Amazon AMI と一致するように) コンパイルされたネイティブ バイナリを実行しようとしていますが、一貫してこの奇妙なエラーが発生します。
/mnt/var/lib/hadoop/mapred/taskTracker/hadoop/jobcache/job_201206011019_0001/attempt_201206011019_0001_m_000000_0/work/./word-count: 1: Syntax error: "(" unexpected
word-count はバイナリ実行可能ファイルであるため、不可解です。ここでシステムのどの部分が不平を言っているのか誰でも知っていますか? OS は、バイナリ ファイルの先頭にあるマジック バイトを検索しようとして、それらを見つけられませんか?
hadoop - Amazon EMR: データノードでのストレージの構成
Amazon EMR を使用していますが、ほとんどのジョブを正常に実行できます。EMR クラスター内でより多くのデータの読み込みと生成を開始すると、問題が発生します。クラスターのストレージ容量が不足しています。
各データノードは c1.medium インスタンスです。こことここのリンクによると、各データ ノードには 350 GB のインスタンス ストレージが必要です。ElasticMapReduce Slave セキュリティ グループを介して、AWS コンソールで c1.medium データ ノードが実行中で、インスタンス ストアであることを確認できました。
namenode で hadoop dfsadmin -report を実行すると、各データ ノードには約 10 GB のストレージがあります。これは、df -h を実行することでさらに検証されます
350 GB のフル ストレージで起動するようにデータ ノードを構成するにはどうすればよいですか? ブートストラップアクションを使用してこれを行う方法はありますか?
elastic-map-reduce - Hadoop Streaming-fileフラグをAmazonElasticMapreduceに渡すにはどうすればよいですか?
この-file
フラグを使用すると、実行可能ファイルをジョブ送信の一部としてパックできるため、最初に実行可能ファイルをS3に手動でコピーしなくてもMapReduceを実行できます。-file
Amazonのelastic-mapreduceコマンドでフラグを使用する方法はありますか?そうでない場合、実行したいバイナリをアップロードする最も簡単な方法は何ですか?
elastic-map-reduce - Elastic MapReduce で外部データを使用する方法
Amazon の EMR FAQ から:
Q: インターネットや Amazon S3 以外の場所からデータをロードできますか?
はい。Hadoop アプリケーションは、インターネット上のどこからでも、または他の AWS サービスからデータをロードできます。インターネットからデータをロードする場合、EC2 帯域幅料金が適用されることに注意してください。Amazon Elastic MapReduce は、DynamoDB のデータへの Hive ベースのアクセスも提供します。
外部 (非 S3) ソースからデータをロードするための仕様は何ですか? このオプションに関するリソースが不足しているようで、いかなる形でも文書化されていないようです。
ruby - Elastic Mapreduce ジョブをプログラムで簡単に制御できますか?
標準として使用されている ruby で記述されたコマンド ライン クライアントがあります。ただし、1.9 では動作しません。ruby 用の非常に優れた aws-sdk もありますが、これは EMR をサポートしていません。良い代替手段はありますか?
amazon-s3 - s3 ログを分析するための Amazon Elastic Map Reduce
EMR を使用して Web nginx ログを分析しています。しかし、クエリを簡単にするために、ログを行と列に分類できるようにログを処理する必要があります。したがって、次の方法でrawlog、processedlogの2つのテーブルを作成しました。
変換を実行できる Ruby スクリプトをハイブに追加すると、スクリプトは次のようになります。
ここで、ハイブで次のコマンドを使用してジョブを実行すると:
次のエラーが表示されます。
誰かが何が悪いのか教えてもらえますか?
r - 大きな共分散行列の作成
double サイズ 19347 x 19347 の最大 110 の共分散行列を作成し、それらをすべて加算する必要があります。
これ自体はそれほど難しくなく、小さな行列の場合は次のコードで問題なく動作します。
メモリを節約するために、個々の行列を計算するのではなく、各ファイルをループするときにそれらを加算します。
問題は、使用する必要がある実際のデータで実行すると、時間がかかりすぎることです。実際にはそれほど多くのデータはありませんが、CPU とメモリを集中的に使用するジョブだと思います。したがって、約 10 時間実行しても結果は計算されません。
Map Reduce (AWS EMR) の使用を検討しましたが、ビッグデータの問題ではないため、これが Map Reduce の問題であるとは思わないという結論に達しました。ただし、これは私が遊んでいたマッパーとリデューサーのコードです。
誰でもこの問題を解決する方法を提案できますか?
前もって感謝します
編集
以下のコメンターの何人かからの大きな助けのおかげで、コードを修正して、はるかに効率的になりました。
これは、私が処理しようとしているファイルの例です。
プログラムを実行すると、ファイルごとに約 10 分かかります。これをスピードアップする方法について誰かアドバイスはありますか?
私は 8 GB の RAM を持っていますが、プログラムを実行すると、R はそのうちの 4.5 GB しか使用せず、少量の空き容量があります。
Mac OS X Snow Leopard と R 64bit v. 2.15 を実行しています。