gpt4 book ai didi

hadoop - 为什么 pig 群有奇数行为

转载 作者:可可西里 更新时间:2023-11-01 16:33:39 26 4
gpt4 key购买 nike

在 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)

为什么它有组键顺序取决于字符串长度但字母顺序。这样我需要做另一个键顺序工作,总共两个工作,因为组没有比较器插件。

有什么团购解决方案吗?我将不胜感激。

最佳答案

实际上,在您的情况下,Pig 使用 NullTupleWritable 作为输出键。由于您的数据是 Tuple,它将调用比较器 DefaultTupleRawComparator。在这个类中,会先比较长度,再比较内容。关注这个link获取代码中的详细信息。

关于hadoop - 为什么 pig 群有奇数行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17470722/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com