Hadoop に基づく MapReduce プログラムがあります。${hadoop_home}/bin/hadoop jar のコマンドで実行する方法を知っています。
ただし、このプログラムをtestNGで実行したいです。Hadoop で testNG ケースを開始するにはどうすればよいですか?
単体テスト フレームワークを探している場合は、mr-unit (Apache)を参照してください。JUnit または TestNG を想定した im のいずれかでドライバー コードをラップできます (免責事項 - 私は JUnit しか使用したことがありません)。
これにより、マッパーまたはリデューサーを介して値をプッシュし、特定の出力/カウンターが出たことをアサートできます
最後に、キーポイントはクラスパスの設定です。
hadoop-core-.jar以外に、${hadoop_home}/share/hadoop/lib/の下のすべての jar ファイル、 ${hadoop_home}/share/hadoop/lib/jsp- /の下の jar ファイル、およびプログラム コードの他の jar ファイル「${hadoop.home}/conf」、「${hadoop.home}/share/hadoop」に依存し、MR プログラム自体がコンパイルされ、Jar ファイルとしてパックされ、ランタイム クラス パスに追加されている必要があります。
このような設定が完了したら、MR メソッドを呼び出す testNG テスト ケースを通常の方法で実行できます。