如果 Pig 中的其他条件命名输出文件

If else condition in Pig to name output file

我正在使用 pig 解析文件,我想应用 if-else 条件来检查语句是否存在。如果 statemnet 不存在,我将输出文件名设置为 No 否则我将输出文件名保留为语句的名称。我该怎么做。

示例:

amit|COD|12543|nagpur|MH|India

现在我想检查我的 </code> 是否为空如果它为空我想让我的输出文件名是 <strong><code>N.txtCOD.txt(在这种情况下 $1 是 COD,在其他情况下可能会有所不同,我希望 $1 值作为输出名称)。

我检查了一下,发现 pig 有条件运算符,但没有 If-else 任何人都可以在这里提出一些解决方法。

Bincond 运算符/三元运算符 (?:) 应该有所帮助。

output = FOREACH input_data GENERATE [=10=], ( IS NULL ? 'N.txt' : ) AS output_file_name, ..;

参考Pig Conditional Operators的例子。