我已经编写了一个pig脚本,它将通过python udfs执行一些图像处理。
在做了一些操作之后,我得到了如下结果(例如):
A = load 'data.txt' using PigStorage('|') as (name:chararray, pixelIntensity:float);
B = group A by pixelIntensity;
dump B;
b是这样的:
(131.0,{(image1,jpg,131.0), (image2.jpg,131.0), (image3.jpg,131.0)})
(140.0,{(image5.jpg,140.0), (image5.jpg,140.0)})
(150.0,{(image4.jpg,150.0})
如果我要去
dump A;
我会得到以下信息:
(image1.jpg,131.0)
(image2.jpg,131.0)
(image3.jpg,131.0)
(image4.jpg,150.0)
(image5.jpg,140.0)
所以我基本上用它们的平均像素强度作为关键点来对它们进行分组。
我的问题是:
我是否只能从b中的每行提取1个元素?举个例子,我想
(image1.jpg,131.0)
(image4.jpg,150.0)
...
1条答案
按热度按时间v7pvogib1#
嵌套的
FOREACH
用一个LIMIT
你应该做你想做的事: