<p>这是我第一次在StackOverflow上发帖,希望有人能帮忙。我对猪的脚本相当陌生,遇到了一个我无法解决的问题。在</p>
<p>下面是一个pig脚本,当我试图将结果写入文件时失败:</p>
<pre><code>register 'myudf.py' using jython as myfuncs;
A = LOAD '$file_nm' USING PigStorage('$delimiter') AS ($fields);
B = FILTER A by ($field_nm) IS NOT NULL;
C = FOREACH B GENERATE ($field_nm) as fld;
D = GROUP C ALL;
E = FOREACH D GENERATE myfuncs.theResult(C.fld);
--DUMP E;
STORE E INTO 'myoutput/theResult';
EXEC;
</code></pre>
<p>当我转储到屏幕上时,我看到E的结果。但是,我需要将结果临时存储在一个文件中。在执行Store命令之后,我收到的错误是:<strong>输出位置验证失败</strong>。在</p>
<p>我尝试过很多解决方法,比如删除theResult文件夹和删除theResult的早期内容,但是我使用的命令都没有一个有效。这些原则是:</p>
^{pr2}$
<p>以及</p>
<pre><code>hadoop fs -rm myoutput/theResult
</code></pre>
<p>…同时使用shell(hs)和文件系统(fs)命令。我尝试调用另一个函数(shell脚本、python函数等)来清除存储在myoutput/theResult文件夹中的早期结果。我看了所有我能找到的网站,但没有什么是有效的。有什么想法吗??在</p>