猪转座

2024-05-16 09:23:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Pig中有一个数据集是这样的:

Name Class Subject Marks  
Andy 1     Maths    10  
John 1     Maths    20  
Mark 2     Maths    20  
Tony 2     Geo      30  

但我需要把它改成:

^{pr2}$

有人能给我推荐一下如何在猪身上表演吗??另外,我正在尝试编写一个Python脚本,它将获取数据并对其进行转置。 提前感谢:)


Tags: 数据name脚本johnclassgeosubjectmark
2条回答

如果已经定义了两个主题(我的意思是如果您的主题是静态的),您可以编写以下简单的代码来避免编写UDF:

A = LOAD .... AS Name, Class, Subject, Marks ...; 

B = FOREACH A GENERATE (Subject == 'Maths' ? Marks : 0) AS Maths, (Subject == 'Geo' ? Marks : 0) AS Geo, class, Name;

如果要按名称和类聚合数据:

^{pr2}$

当然,只有当您定义了两个主题时,这个代码片段才能工作。。:)

罗曼。在

按(姓名,班级)分组应该给你一个包,里面有一个学生的所有分数。然后您可以编写一个简单的UDF,将这个包作为输入并生成所需的输出。在

相关问题 更多 >