用于MapR / Hadoop / Hive的类路径

时间:2014-07-28 02:21:02

标签: java hadoop mapr

我正在尝试为hadoop编译一些java代码,需要知道我需要指定哪个类路径。对于cloudera我在下面使用它,但是我用什么来安装MapR?令人惊讶的是,我只能找到如何在谷歌中设置类路径,而不是将其设置为。

javac -classpath "/opt/cloudera/parcels/CDH-4.6.0-1.cdh4.6.0.p0.26/lib/hadoop/client/*" mr.java -d mr

1 个答案:

答案 0 :(得分:0)

通过反复试验找到答案。很奇怪谷歌对此非常沉默,我读过的所有书籍和例子似乎都认为这太明显了,无法打印。

mkdir MyClass
javac -classpath "/opt/mapr/hadoop/hadoop-0.20.2/lib/*" MyClass.java -d MyClass
jar -cvf MyClass.jar -C MyClass .

此外,如果您需要配置单元库,例如编译配置单元UDF:

javac -classpath "/opt/mapr/hadoop/hadoop-0.20.2/lib/*:/opt/mapr/hive/hive-0.12/lib/*" MyClass.java -d MyClass
编辑:我要添加的一件事是确保在路径周围加上引号,否则linux会在命令行上展开它,这不是你想要的。路径中的*需要按原样传递给java。