hadoop java。lang.IllegalArgumentException:无法从空字符串创建路径
**“Path inputPath = new Path(job.get(KnnDriver.QUERY_DIR_PROPERTY));”**//it gives out error。
if (inputPath == null)
throw new UnsupportedOperationException("ERROR: query directory not set");
job.setInputFormat(NonSplitableTextInputFormat.class);
NonSplitableTextInputFormat.addInputPath(job, inputPath);
Path outputPath = new Path(job.get(KnnDriver.RESULT_DIR_PROPERTY));
FileSystem.get(job).delete(outputPath, true);
// Change to FileOutputFormat to see output
job.setOutputFormat(TextOutputFormat.class);
TextOutputFormat.setOutputPath(job, outputPath);
KnnDriver.run(job);
}
我已在课文中标出了错误 以下是我在knnDriver中设置的静态常数
public static final String QUERY_DIR_PROPERTY = "knn.query.dir";
public static final String RESULT_DIR_PROPERTY = "knn.result.dir";
public static final String THRESHOLD_PROPERTY = "knn.sim.threshold";
# 1 楼答案
与其先查看变量是否为null,然后做任何需要做的事情,不如做任何需要做的事情,只要它不为null即可。这样就不需要检查变量是否“完全”等于某个值。这会造成并发症
为了避免这种情况,请使用if语句来实现上面所述的功能
基本上,你不再寻找黑天鹅了,只是检查一下没有黑天鹅。这种方法的问题要小得多,应该使用,而不是像你那样