我是hadoop生态系统的新手,我一直试图通过Oozie协调并执行一项基本的猪工作。
当我尝试验证workflow.xml文件时出现以下错误。
错误:
无效的应用定义,org.xml.sax.SAXParseException; lineNumber:32; columnNumber:16; cvc-complex-type.2.3:元素'workflow-app'不能 有字符[children],因为类型的内容类型是 元件只。
这是我的workflow.xml文件供您参考。
1 <workflow-app xmlns="uri:oozie:workflow:0.2" name="log-wf">
2 <start to="pig-node"/>
3
4 <action name="pig-node">
5 <pig>
6 <job-tracker>${jobTracker}</job-tracker>
7 <name-node>${namenode}</name-node>
8 <prepare>
9 <delete path="${nameNode}/user/${appRoot}/pigOutput"/>
10 </prepare>
11 <configuration>
12 <property>
13 <name>mapred.job.queue.name</name>
14 <value>${queueName}</value>
15 </property>
16 <property>
17 <name>mapred.compress.map.output</name>
18 <value>true</value>
19 </property>
20 </configuration>
21 <script>script.pig</script>
22 <param>piginput=/user/${appRoot}/clean.log</param>
23 <param>pigoutput=/user/${appRoot}/pigOutput</param>
24 </pig>
25 <ok to="end"/>
26 <error to="fail"/>
27 </action>
28
29
30
31 <end name="end"/>
32 </workflow-app>
我不明白工作流标记中的哪个元素导致错误,因为第32行没有第16列。你们对此有什么建议吗?
答案 0 :(得分:0)
xml文件很常见,但它本身不是格式化,只是一些未被解析为空格的符号。查看原始工作流文件以查看它的错误。但一般来说,你可以保持你的xml文件格式化,这只是一个体面的编辑器问题:)。 - @patrungel
感谢您的回复。