首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何删除在Pig中重复的数据行

如何删除在Pig中重复的数据行
EN

Stack Overflow用户
提问于 2018-04-21 04:44:23
回答 2查看 62关注 0票数 0

"YouTube逆风:2017年的形状#YouTubeRewind“137843120 3014479 1602383 817582 "YouTube逆风:2017年的形状#YouTubeRewind“125431369 2912715 1545018 807558 "YouTube逆风:2017年的形状#YouTubeRewind“113876217 2811217 1470387 787174 "YouTube逆风:2017年的形状#YouTubeRewind“100911567 2656678 1353655 682890 漫威影城复仇者:无限战争官方预告片89930713 2606665 53011 347982 漫威影城复仇者:无限战争官方预告片87450245 2584675 52176 341571 漫威影城复仇者:无限战争官方预告片84281319 2555414 51008 339708 漫威影城复仇者:无限战争官方预告片80360459 2513103 49170 335920 "YouTube逆风:2017年的形状#YouTubeRewind“75969469 2251826 1127811 827755 漫威影城复仇者:无限战争官方预告片74789251 2444960 46172 330710 漫威影城复仇者:无限战争官方预告片66637636 2331359 41154 316185 漫威影城复仇者:无限战争官方预告片56367282 2157741 34078 303178 "YouTube逆风:2017年的形状#YouTubeRewind“52611730 1891822 884963 702784 “敬我们的女儿”51243149 0 0 0 “敬我们的女儿”48635732 0 0 0

在上面的数据中有两列,一列是“标题”,另一列是视图、喜欢、不喜欢、comment_count。

如何使用筛选器和删除重复数据--我想删除具有相同“标题:并保留视图最高的数据”的数据。

EN

回答 2

Stack Overflow用户

发布于 2018-04-21 06:20:19

数据有15科尔,我选择了问题'select_specified_columns‘中提到的5 cols,定义了上述询问表。

only_likes = foreach select_specified_columns生成$0,$1; 将only_likes存储在‘test/only_like’中; group_likes = only_likes组0; 将group_likes存储在‘test/group_like’中; max_likes = group_likes生成组,最大(only_likes.views); 将max_likes存储在‘test/max_like’中; result_likes =按1美元订购max_likes; 将result_likes存储到‘test/result_likes’中;

我使用以下命令完成了此操作

票数 0
EN

Stack Overflow用户

发布于 2018-04-21 08:52:52

如果您想要保留与MAX喜欢对应的记录的所有字段,则必须这样做:

代码语言:javascript
运行
复制
dataAll = LOAD 'path' USING PigStorage('\t') AS (title:chararray, views:long, likes:long, dislikes:long, comment_count:long);

--group the data by title so that all records belonging to a title fall into a bag in the same record
dataGrouped = GROUP dataAll BY title;

--Using a nested foreach, order the contents of the bag by likes and pick the top record
dataDeduped = FOREACH dataGrouped {
                 soredtedByLikes = ORDER dataAll BY likes DESC;
                 maxLikesRecord = LIMIT soredtedByLikes 1;
                 GENERATE FLATTEN(maxLikesRecord);
              }

STORE dataDeduped INTO 'outputPath' USING PigStorage('\t');

嵌套Foreach在这种情况下非常有用。在这里查看更多信息:https://www.safaribooksonline.com/library/view/programming-pig/9781449317881/ch06.html (搜索该链接中的嵌套foreach )。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49952446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档