Hadoop 如何使用pig转换目标值?

Hadoop 如何使用pig转换目标值?,hadoop,apache-pig,Hadoop,Apache Pig,我有一些目标值为4的数据​​我想让其中三个成为使用拉丁语pig的一部分 Input: Output: ID | Target ID | Target ----------------- ----------------- test1 1 test1 1 test2 1 test2 1 test3

我有一些目标值为4的数据​​我想让其中三个成为使用拉丁语pig的一部分

Input:                     Output:
ID     | Target            ID     | Target    
-----------------          -----------------
test1      1               test1      1
test2      1               test2      1
test3      2               test3      2
test4      2               test4      2
test5      3               test5      2
test6      4               test6      2
test7      2               test7      2
有人知道执行此操作的最佳方法

用于检查目标值是否大于1,如果为真,则将其替换为所需的值,在本例中为2

A = LOAD 'data.txt' USING PigStorage('\t') AS (Id:chararray,target:int);
B = FOREACH A GENERATE Id,(target > 1 ? 2 : target);
DUMP B;

哪三个值必须变为2?所有值2、3和4,比如2。如果目标是字符而不是整数,请再问一个问题。可以使用bincond运算符,或者它只是用于数值运算,我应该使用另一个运算符吗?当然,也可以将加载的squema更改为chararray。您也可以将其用于chararray。在这种情况下,您将无法检查>。您必须检查“2”、“3”、“4”。