pig拉丁参数in store命令

ibps3vxo  于 2021-07-15  发布在  Pig
关注(0)|答案(1)|浏览(529)

我开发了一个pig拉丁语,它接受参数$colour。
我已加载到数据集中,并基于此参数成功地对其进行了筛选。
现在我尝试存储输出,我尝试在store命令中将参数用作文件夹,如下所示:

STORE Final_Relation INTO '/output/colour/'$colour'' USING PigStorage();

这给了我以下错误:
错误1200:<file testscript,第32行,第63列>不匹配的输入'blue'需要分号
我要补充的一点是,这里的颜色有一个连字符,例如蓝灰色。。。虽然相同的颜色应用于第一个颜色,例如红橙色,所以我不确定这是否相关(我只是觉得奇怪,错误消息只包含字符串“blue”的第一部分,而不是完整的字符串“blue grey”)。
作为一种替代方法,我认为可以使用以下命令将所有内容存储在“颜色”文件夹中:

STORE Final_Relation INTO '/output/colour' USING PigStorage();

但是当我这样做,并且第二次运行我的脚本时(即第一次运行的很好),我得到了错误:
输出位置验证失败:'/output/colour要遵循的详细信息:
输出目录hdfs://sandbox-hdp.x.com:x/输出/颜色已存在
这似乎让我陷入了尴尬的境地:
无法使用参数动态创建子文件夹
我无法将所有输出放在同一个文件夹中
我的真实数据有成千上万种不同的颜色,所以手动创建文件夹是不切实际的。

wf82jlnq

wf82jlnq1#

@pauljcg回答了这个问题,我的输出字符串的格式需要是:
'/output/colour/$colour'
我错误地在参数周围加了引号。
另外,我不知道如何将一个评论推广到一个答案,否则我会这么做的。

相关问题