こんにちは、次のコードを使用して mahout ライブラリで単純なシーケンス ファイルを作成しようとしています。コードの実行中に、空のファイルを作成した後に NullPointerException が発生します。
public class SequenceFileWriter {
public static void main(String[] args) throws IOException {
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(conf);
SequenceFile.Writer sfw = new SequenceFile.Writer(fs, conf, new Path("/tmp/test.txt"), Text.class, Text.class);
Text A = new Text();
Text B = new Text();
for (int x = 0; x < 1000; x++) {
A.set("a" + x);
B.set("b" + x);
sfw.append(A, B);
}
org.apache.hadoop.io.IOUtils.closeStream(sfw);
}
}
エラー:
Exception in thread "main" java.lang.NullPointerException
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1010)
at org.apache.hadoop.util.Shell.runCommand(Shell.java:445)
at org.apache.hadoop.util.Shell.run(Shell.java:418)
at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:650)
at org.apache.hadoop.util.Shell.execCommand(Shell.java:739)
at org.apache.hadoop.util.Shell.execCommand(Shell.java:722)
at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:633)
at org.apache.hadoop.fs.FilterFileSystem.setPermission(FilterFileSystem.java:467)
at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:456)
at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:424)
at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:906)
at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:887)
at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:784)
at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:773)
at org.apache.hadoop.io.SequenceFile$Writer.<init>(SequenceFile.java:1103)
at com.jarvis.trial.SequenceFileWriter.main(SequenceFileWriter.java:15)
問題を整理するために、誰かがこれについて私を助けてくれませんか?