在 oozie shell 动作中运行 pig
Posted
技术标签:
【中文标题】在 oozie shell 动作中运行 pig【英文标题】:Run pig in oozie shell action 【发布时间】:2016-07-28 10:37:45 【问题描述】:我创建了一个简单的 pigscript,它可以加载 10 条记录并存储在一个表中。
当我使用 oozie Shell 操作调用这个猪(存储在 HDFS 中)文件时,我得到如下错误:
>>> Invoking Shell command line now >>
Exit code of the Shell command 5
<<< Invocation of Shell command completed <<<
<<< Invocation of Main class completed <<<
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.ShellMain], exit code [1]
Oozie Launcher failed, finishing Hadoop job gracefully
我已将 shell 文件放在工作区的 lib 文件夹中,并将所有需要的 jar 文件添加到同一个 lib 文件夹中。请帮我解决这个问题。
【问题讨论】:
PigScript 运行正常吗? 已签入服务器。它工作正常 尝试检查日志,如 stderr,stdout 可能会有所帮助 >>> 现在调用 Shell 命令行 >> Shell 命令 5 的退出代码 Oozie 有一个 Pig 操作,它会自动从 HDFS 上的 Oozie“Pig ShareLib”获取所需的依赖项。这是有充分理由的。 【参考方案1】:我通过以下步骤解决了这个问题:
1)Created a workflow in hue placing a pig action to invoke pigscript.
2)Generated the workflow.xml file by clicking the run button.
3)Ran the workflow.xml through commandline by adding a shell wrapper class which iterates and gives dates as input parameters.
JOB.PROPERTIES 文件:
oozie.use.system.libpath=True
security_enabled=False
dryrun=False
jobTracker=<jobtracker>
nameNode=<nameNode>
oozie.wf.application.path = /user/hue/oozie/workspaces/hue-oozie-1470122057.79/workflow.xml
外壳文件:
for date in 20160101 20160102 20160103
oozie job -oozie http://<serverip>:11000/oozie -config job.properties run
【讨论】:
以上是关于在 oozie shell 动作中运行 pig的主要内容,如果未能解决你的问题,请参考以下文章
Oozie Pig 动作卡在 PREP 状态,作业处于 RUNNING 状态