問題タブ [mrunit]
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 - MRUnit で複数の出力をテストする
複数の出力ファイルへの書き込みにMRUnit
使用する reduce クラスをテストする方法はありますか?MultipleOutputFormat
hadoop - MR ユニットでコンテキスト オブジェクトをモックする
私は Hadoop を初めて使用し、これが私の最初のマッパー プログラムであり、MR ユニットを使用して単体テストを行っています。
設定オブジェクトを介して設定したパラメータ(年)を渡しています
マイマッパー:
MR単体テストでは、キー、値とともにコンテキストクラスをモックしています
ただし、マッピングで値(年)を取得できず、null を受け取ります。私はこれを正しく行っていますか、またはマッピングをテストするためのより良い方法はありますか.
hadoop - MRUnit - 期待どおりに動作しない
HBase に一括読み込みするためのファイルを作成するマッパー クラスしかなく、単体テスト用に MRUnit を作成しました。
期待される結果と返される結果は同じですが、MRUnit は 「期待される出力がありません」というメッセージで失敗しています。
期待される出力:(4b 65 79 31, {"totalColumns":1,"families":{"default":[{"timestamp":9223372036854775807,"qualifier":"default","vlen":6}]},"row":"Key1"})
実際の出力:(4b 65 79 31, {"totalColumns":1,"families":{"default":[{"timestamp":9223372036854775807,"qualifier":"default","vlen":6}]},"row":"Key1"})
どこが間違っていますか?ImmutableBytesWritable または Put に問題がありますか?
build - hadoop1 分類器を使用して構築された MRUnit 1.0.0-SNAPSHOT jar を取得する方法は?
MRUnit の最新リリースは 0.9 です。このリリースでは、DistributedCache はサポートされていません。このhttps://issues.apache.org/jira/browse/MRUNIT-98は、1.0.0 が DistributedCache をサポートしていることを示しています。hadoop1 用にビルドされた MRUnit 1.0.0 jar を入手したいのですが、見つかりません。だから私はそれを自分で構築しようとしましたが、必要なjarがmavenリポジトリにありません。
私が使用しているコマンドは次のとおりです。
mvn package -DenvClassifier=hadoop1 -DspecificHadoopVersion=1.0.3
依存関係エラーで失敗します。必要な jar を手動で取得できますが、ビルドでそれらを使用する方法がわかりません。
必要な jar を入手するにはどうすればよいですか (自分でビルドするか、ダウンロードします)。
hadoop - シリアル化でAvroNullPointerExceptionを使用するMRUnit
MRUnitを使用してHadoop.mapreduceAvroジョブをテストしようとしています。以下に示すように、NullPointerExceptionを受け取ります。pomとソースコードの一部を添付しました。どんな援助もいただければ幸いです。
ありがとう
私が得ているエラーは次のとおりです:
pomスニペット:
これがテストの抜粋です:
serialization - MRUnit を使用した場合の java.lang.NullPointerException。カスタム キーのシリアル化エラー
MRUnit を使用して単純な MapReduce プロジェクトをテストしようとしています。mapDriver の入力を設定してから呼び出しますmapDriver.runTest()
(私も試しましmapDriver.run()
たが、同じエラーが発生します)。
write(DataOutput out)
、readFields(DataInput in)
およびcompareTo(...)
メソッドをオーバーロードするカスタム キーを作成しました。デバッグ時に、キーは を使用してデータを正しく書き込みますwrite(DataOutput out)
。ただし、キーのreadFields(DataInput in)
メソッド (以前に を使用して書き込まれたデータを正しく取得するwrite(DataOutput out)
) が終了すると、次のエラーがスローされます。
ここで同様の投稿を検索し、hashCode()
andequals()
メソッドを無効にしようとしましたが、役に立ちませんでした。MRUnit では、カスタム キーを使用するときにオーバーライドする追加のメソッドが必要ですか? この投稿は、シリアライゼーションで Avro NullPointerException を使用した MRUnit に最も似ています。ただし、私は avro を使用しておらず、私の知る限り、デフォルトのシリアル化を使用しています。乾杯!
java - MapReduce 単体テストが DistributedCache.getLocalCacheFiles のモックに失敗する
Apache MRUnitを使用すると、クラスターで実行する前に、MapReduce プログラムをローカルで単体テストできます。
私のプログラムはDistributedCacheから読み取る必要があるため、単体テストでモックDistributedCache.getLocalCacheFiles
するクラスをラップします。メソッドが呼び出されず、代わりにローカル パスが返されるように、スタブをセットアップします。しかし、メソッドが呼び出されてスローされることがわかりました。 FileNotFoundException
私のMapReduceプログラムは次のようになります
そして私のテストプログラム
DistributedCacheClass
シンプルなラッパーです
テスト時にローカル パスが読み取られるように Mapper のセットアップ メソッドにフラグを追加することもできましたが、MapReduce プログラムからテスト コードを分割したいと考えています。
Mock Test と MRUnit は初めてなので、プログラムに初心者向けのバグがある可能性があります。バグを指摘してください。修正し、更新内容を以下に投稿します。
hadoop - スタンドアローンモードのMRUnit
MRUnit をスタンドアロン モードで実行することは可能ですか? 分離されたマッパー/リデューサーの利点と、ローカル ディスクから読み取る透過的で単純な出力チェックを組み合わせる (特定の FileSYStem 実装をテストしたい)。