在 hadoop 中,如果您想对某些东西进行分组和排序并且编写 java ,结果是组键也将默认按字典顺序排序,所有这些都通过一个 MR 作业完成,这样您就可以省去另一个订单作业。
但现在我加入使用 Pig ,发现一个古怪的东西。
我的输入(test.txt)是:
a
ab
abc
b
c
我的脚本是:
A=load 'test.txt' as c1:chararray;
B=group A by c1;
dump B;
输出是:
(a)
(b)
(c)
(ab)
(abc)
为什么它有组键顺序取决于字符串长度但字母顺序。那样我需要做另一个键顺序工作,总共两个工作,因为组没有比较器插件。
一次分组和订购的任何解决方案?我将不胜感激。