在Oozie的workflow上面调用jar包,可以有两种方式,
一种是使用shell来调用:
${jobtracker_address}
${namenode_address}
mapred.job.queue.name
${mapred_job_queue_name}
hadoop
jar
${mongo_sync_jar_name}
com.hive.syncJob.HiveMongoSync
-mongo-ip
${mongo_ip}
-mongo-port
${mongo_port}
一种是使用Java来调用
${jobtracker_address}
${namenode_address}
mapred.job.queue.name
${mapred_job_queue_name}
test.java.main.HiveJDBCTEST
如果依赖外部包, 需要在项目文件下创建一个lib包,和项目文件一起put到HDFS上面去。
否则会出现ClassNotFoundException。
Oozie有个配置文件,会将job中的所有java文件引导到一个libpath下面:
##oozie config
#use system library
oozie.use.system.libpath=true
#use custom library
oozie.libpath=${namenode_address}/user/hadoop/share/lib/hive