ProcessBuilder を使用して実行可能ファイルを実行しています。正常に動作します。今、私は最初の実行可能ファイルの出力を2番目の実行可能ファイルに与える必要があるシナリオにいます。例: exe1 arg1 arg2 | exe2 arg3 を取得し、その InputStream を取得して stdout に出力します。
そのため、exe1 arg1 arg2 | を含むスクリプト用の小さな script.sh を作成しています。exe2 arg3
以下は Java で正常に動作します。
ProcessBuilder pb=new ProcessBuilder();
pb.command("/bin/sh","/home/biadmin/Desktop/script.sh");
Process p=pb.start();
InputStream in=p.getInputStream();
// 出力が正常に stdout に出力されました。
しかし、hadoop環境で同じことをすると。入力ストリームには何もありません。これと同じことをhadoopで行う必要があります。任意の提案/アドバイスをいただければ幸いです。
ありがとう。