gpt4 book ai didi

hadoop - 按键过滤记录-PigLatin

转载 作者:行者123 更新时间:2023-12-02 20:13:48 26 4
gpt4 key购买 nike

我开始涉足PigLatin,我有一个问题...

现在,我正在使用经典的单词计数示例,在该示例中,我处理了几本电子书,然后获得了单词列表以及每个单词出现的次数。

使用该数据作为 pig 的输入数据,然后按照每个单词出现的次数对其进行排序,然后得到5个最常见的单词。到目前为止,到目前为止很好,但我的问题是,现在我想获得5个最常用的单词,但是出现的次数不同。让我解释一下:

将此输出想象成单词计数作业:

(hey, 1)
(hello, 10)
(my, 2)
(cat, 1)
(eat, 4)
(mom, 10)
(house, 10)

然后,在Grunt shell上执行以下操作:
data = load 'file' as (word, freq);
srtd = order data by freq;
lmtd = limit srtd 3;
dump lmtd;

我得到的输出是:
(hello, 10)
(mom, 10)
(house, 10)

但是,如果我想得到这个怎么办:
(hello, 10)
(eat, 4)
(my, 2)

如何过滤重复的频率值?

谢谢!

最佳答案

您可以编写一个UDF来执行此操作,这可能会加快MR的速度,但是您可以尝试其中的一种。

数据=加载'文件'为(字,频率);
计数= GROUP数据(按频率);
countsLimited = FOREACH计数{
字= TOP(1,2,数据);
生成FLATTEN(word);
}

要么

数据=加载'文件'为(字,频率);
计数= GROUP数据(按频率);
countsLimited = FOREACH计数{
字= LIMIT数据1;
生成单词;
}

关于hadoop - 按键过滤记录-PigLatin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9424802/

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