我在eclipse 3.8中做了一个drools程序
我有2个drools文件。
我想将我的Drools文件分享给所有映射器和缩减器。那么如何使用hadoop分布式缓存呢?在此之前,文件应存在于本地文件系统或HDFS中。
以下是如何在没有分布式缓存的情况下将Drools文件访问到程序中的程序。查看它并告诉我将drools存储到分布式缓存中的清晰度以及在程序中访问该文件的方法。
public class JUnitTests {
@Test
public void testMapReduceJob1() throws Exception {
String drlDir = "/Users/mbp_user/devel/java/drools-hadoop/drl/";
String hdfsOut = "output";
FileSystem fs = FileSystem.get(new Configuration());
fs.delete(new Path(hdfsOut), true);
MapReduceByStateless.main(new String[] {
"-files",
drlDir + "rule1.drl",
"input",
"output"
}
);
}
@Test
public void testMapReduceJob2() throws Exception {
String drlDir = "/Users/mbp_user/devel/java/drools-hadoop/drl/";
String hdfsOut = "output";
FileSystem fs = FileSystem.get(new Configuration());
fs.delete(new Path(hdfsOut), true);
MapReduceByStateful.main(new String[] {
"-files",
drlDir + "rule2.drl",
"input",
"output"
}
);
}
}