我在pig中有一个数据集,如下所示:
Name Class Subject Marks
Andy 1 Maths 10
John 1 Maths 20
Mark 2 Maths 20
Tony 2 Geo 30
但我需要把它改成:
Name Class Maths Geo
Andy 1 10 0
John 1 20 0
Mark 2 20 0
Tony 2 0 30
有人能给我建议如何在Pig身上做这个吗??另外,我正在尝试编写一个python脚本,它将获取数据并对其进行转置。提前感谢:)
2条答案
按热度按时间oewdyzsn1#
按(姓名、班级)分组应该给你一个包,里面有一个学生的所有分数。然后您可以编写一个简单的udf,将这个包作为输入并生成所需的输出。
3qpi33ja2#
如果您的两个主题已经定义(我的意思是如果您的主题是静态的),您可以编写以下简单的代码来避免编写自定义项:
如果要按名称和类聚合数据:
当然,只有在定义了两个主题的情况下,此代码段才有效:)
罗曼。