/ / Classpath да се използва за MapR / Hadoop / Hive - java, hasoop, mapr

Classpath да се използва за MapR / Hadoop / Hive - java, hasoop, mapr

Опитвам се да компилирам някакъв java код за хаопи трябва да знам какъв клас път трябва да уточня. За cloudera използвам това по-долу, но какво да използвам за инсталация MapR? Изненадващо можах да намеря само как да задам класическия път в Google, а не какво да го настроя.

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

Отговори:

0 за отговор № 1

Открихме отговора от изпитание и грешка. Странно, Google е много мълчалив по този въпрос и всички книги и примери, които прочетох, изглежда, предполагат, че това е твърде очевидно, за да се притеснявам за печат.

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

EDIT: едно нещо, което бих добавил, е да се уверите, че поставяте кавички около пътя, в противен случай linux го разширява на командния ред, което не е това, което искате. * В пътя трябва да бъде предаден на Java както е.