問題タブ [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.
java - Amazon EMR で Hadoop jar を実行する
map-reduce アプリ用のカスタム jar を作成し、Amazon EMR ジョブ フローで実行してみました。Hadoop 1.0.4 でコードをコンパイルしましたが、Amazon EMR は Hadoop 1.0.3 をサポートしています。また、jdk 1.7 でコードをコンパイルしましたが、Amazon EMR が使用する Java のバージョンと、それをどこで変更できるかわかりません。
ここにスタックトレースがあります
hadoop - Amazon S3 マルチパート アップロードがしばしば失敗する
s3cmd CLI を使用して32GBのファイルを S3 バケットにアップロードしようとしています。マルチパートアップロードを行っており、しばしば失敗します。私はこれを、1000 mbps の帯域幅を持つサーバーから実行しています。しかし、アップロードはまだ非常に遅いです。これをスピードアップするためにできることはありますか?
一方、ファイルは私が言及したサーバーの HDFS にあります。Amazon Elastic Map Reduce ジョブを参照して、この HDFS から取得する方法はありますか? それはまだアップロードですが、ジョブも実行されています。したがって、全体的なプロセスははるかに高速です。
python - AmazonEMRのPythonマッパー
AmazonEMRでマッパーとしてPythonスクリプトを実行しようとしています。
スクリプトの最初の部分は次のようになります。
その結果、次のエラー出力が発生します。
これについて何か考えはありますか?私は以前にEMRを正常に使用しましたが、Pythonでは使用していません。Webインターフェイスを介してジョブを実行し、botoライブラリを使用しても同じ結果が得られます。
hadoop - AWS EMR クラスターのマッパーから S3 へのファイルのアップロード
AWS EMR で実行されている既存の map reduce ジョブがあります。これは、数十億行のログを処理し、いくつかの計算を行ってマッパーから (キー、値) ペアを形成します。これらの計算は非常に時間がかかるため、これらの計算の中間ステップの出力を他のマップ削減ジョブで使用する必要があります。したがって、既存のジョブに影響を与えずに (つまり、現在のマッパーまたはリデューサーを変更せずに)、計算の出力をタップして s3 にアップロードしたいと考えています。アップロードする前に、まずこれらの行をローカルの一時ファイルに集め、ファイルが十分に大きくなったら、このファイルを s3 にアップロードします。
問題は - レデューサーとは異なり、マッパーはキーに基づいてデータをソートできません。ファイル名の競合がないように、異なるマッパーからデータをアップロードするための s3 の一意のファイル名をどのように工夫すればよいですか?
私はJavaを使用しています。マッパークラスターIDを取得するか、ランダム番号を生成する方法があれば、問題も解決できます。すべてのマッパーに固有のもの (やり方がわからない?)
hbase - RubyonRailsでAmazonEMRで実行されているHbaseにアクセスする方法
誰かがプログラムでルビーでHbase(Amazon EMRで実行されている)に接続するのを手伝ってくれませんか?
実際、Amazon EMRのHbase列指向テーブルにバルクデータをインポートし、プログラムでクエリの種類ごとに集計/グループ化して同じデータを取得したいと思います。
https://github.com/aws/aws-sdk-ruby、https://github.com/CompanyBook/massive_record、hbase-stargate gemを確認しましたが、例を挙げて明確に説明しているものはないようです。。
前もって感謝します..
java - hdfs のファイル パス
Hadoop ファイル システムからファイルを読み取りたい。
ファイルの正しいパスを取得するには、 のホスト名とポート アドレスが必要ですhdfs
。
最後に、ファイルのパスは次のようになります
ここで、HostName = "123.23.12.4344" & port: 9000 を抽出する方法を知りたいですか?
基本的には Amazon EMR 上の FileSystem にアクセスしたいのですが、
は得るこで、URI を使用することにしました。(URIを使用する必要があります)が、URIにアクセスする方法がわかりません。hadoop - java.lang.NoClassDefFoundErrorを使用してAWSEMRで実行されているPigUDF:org / apache / pig / LoadFunc
S3ドルに保存されているログファイルを読み取り、ElasticMapReduceを使用して解析しようとするアプリケーションを開発しています。現在のログファイルの形式は次のとおりです
そのため、ファイルをPigスクリプトにロードしようとしましたが、組み込みのPig Loaderがデータをロードできないようであるため、独自のUDFを作成する必要があります。私はPigとHadoopにかなり慣れていないので、UDFがどのように機能するかを知るために、自分で作成する前に他の人が作成したスクリプトを試してみたいと思います。ここhttp://pig.apache.org/docs/r0.10.0/udf.htmlから1つを見つけました。SimpleTextLoaderがあります。このSimpleTextLoaderをコンパイルするには、次のようにいくつかのインポートを追加する必要があります。
次に、このファイルをコンパイルする必要があることがわかりました。svnとpigrunningをダウンロードする必要があります
これでpig.jarファイルができたので、このファイルをコンパイルしようとします。
コンパイルは成功し、Pigと入力してgruntに入り、gruntでファイルをロードしようとします。
pig_1354666051892.log内には、
また、 http: //wiki.apache.org/pig/UDFManualから別のUDF(UPPER.java)を使用しようとしましたが、UPPERメソッドを使用しようとしても同じエラーが発生します。手伝ってくれませんか、ここで何が問題なのですか?どうもありがとう!
更新:/home/hadoop/lib/pig/pig.jarにあるEMRビルトインPig.jarを試しましたが、同じ問題が発生しました。
java - Sqoopを使用してHiveテーブルをエクスポートすると、一部の行が区切られません
Hiveで生成されたテーブルがあります(Amazon Elastic MapReduce JobFlow上)。データがにあることがわかりますhdfs:///mnt/hive_081/warehouse/[table name]
。
Sqoopを(何も変更せずに)jarにラップし、テストのためにマスターノードにアップロードしました。
私は自分のsqoopjarをそのように実行します:
ここで、$ ARGSは(機密のmysqlフラグは省略されています):
私はこれをモックアップした10行のデータでテストしています。null値はありません。各行は、すべての列で同じ番号を繰り返すという点で一意です。コマンドを実行すると、多くの情報が得られます
毎回、同じ4行(10行のうち)に対してこのメッセージが表示されます(負の値は無視してください。これらは、数値に適合しなかったTINYINTの列です)。
行の最初の2つの値の間のスペースがはるかに少ないことがわかります。これは私の問題ですか?これは何が原因でしょうか?参考までに、データファイルをHDFSからローカルFSにコピーしてポイントすると、このメッセージは表示されませんが、データは宛先に到達しませんでした:/。とにかく、私はマルチステッププロセスを自動化しようとしているので、何もコピーせずにHDFSデータを直接操作できるようにしたいと思います。
どんなアドバイスも大歓迎です!
更新:これは、区切り文字としてコンマを使用した場合にも発生します。同じ4行で観察されます。Hiveテーブルを1行のみに制限すると(以前のテストのエラー行の1つではない)、同じエラーが発生します。
hadoop - PIG がカスタム InputFormat を読み取らない
複数行の入力のMyInputFormat
レコード境界の問題に対処することを想定しているカスタムがあります。しかし、UDF ロード関数に入れたとき。次のように:MyInputFormat
マッパーごとに出力されますが、出力されI am in getInputFormat function
ませんI am in createRecordReader
。私のコスチューム MyInputFormat を PIG の UDF ローダーに接続する方法について、誰かがヒントを提供できるかどうか疑問に思っています。どうもありがとう。
Amazon EMR で PIG を使用しています。
amazon-ec2 - Hive ジョブが強制終了され、クエリ execute() がハングしたままになる
hive-jdbc-0.7.1-cdh3u5.jar を使用しています。EMR でメモリを大量に消費するクエリを実行していて、失敗することがあります。ジョブ トラッカーを見ると、クエリが強制終了されていることがわかり、次のエラーが表示されます。
java.io.IOException: ゼロ以外のステータス 137 でタスク プロセスが終了しました
ただし、Hive JDBC ドライバーの execute() 呼び出しはこれを検出せず、ハングしたままになります。例外はキャッチされません。何か案は?ありがとう: