問題タブ [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 - クラス org.apache.hadoop.mapreduce.TaskInputOutputContext が見つかりましたが、インターフェースが予期されていました
MRUnit 1.0.0を使用して Hadoop v2 Reducer をテストしようとしていますが、試行時に例外が発生します。
これは、このSOの質問のように、Hadoop APIのバージョンが何らかの形で一致していないことを意味すると思いますが、どこに問題があるのか わかりません。repo.hortonworks.com の Hadoop 2.2.0.2.0.6.0-76 と repo1.maven.org の MRUnit 1.0.0 を使用して、Maven を使用して依存関係を取り込みます。
テストケースは次のとおりです。
パッケージ内の他の場所ではHH
、Reduce は非常に単純な内部クラスとして定義されています。
何かおかしなことがわかりますか?MRUnit は API の古い/新しいバージョンを使用しようとしていますか?
java - モックアウトされたコンテキストを使用した Hadoop 単体テスト
Hadoop ジョブの単体テストを作成しようとしています。問題は、マッパーが渡された Context 引数を使用して、その時点で読み取られているファイルを判別することです。次の呼び出しを行います。
ただし、MRUnit を使用してマッパーの単体テストを作成しているときに、この Context オブジェクトをモックアウトする方法が見つからないようです。MapDriver でさえ、新しい Context オブジェクトを設定するオプションがないようです。このマッパー クラスの単体テストを作成する方法はありますか?
java - MrUnit を使用した Mongo-Hadoop ジョブの単体テスト
mongo-hadoop ジョブをどのように単体テストしますか?
これまでの私の試み:
次の出力が生成されます。
クラス org.bson.BasicBSONObject の io.serializations の conf にシリアライゼーションを実装する該当するクラスはありません
org.apache.hadoop.mrunit.internal.io.Serialization.copy(Serialization.java:67) の java.lang.IllegalStateException org.apache.hadoop.mrunit.internal.io.Serialization.copy(Serialization.java:91) ) org.apache.hadoop.mrunit.internal.io.Serialization.copyWithConf(Serialization.java:104) で org.apache.hadoop.mrunit.TestDriver.copy(TestDriver.java:608) で org.apache.hadoop. mrunit.TestDriver.copyPair(TestDriver.java:612) at org.apache.hadoop.mrunit.MapDriverBase.addInput(MapDriverBase.java:118) at org.apache.hadoop.mrunit.MapDriverBase.withInput(MapDriverBase.java:207) ...