在 Apache Pig 中转置

Transpose in Apache Pig

我有如下输入

name,gender,salary,city  -- header
John,male,4000,NY

如何在 Pig 中将列转置为行?我需要如下所示的输出。

name,field1,value
John,gender,male
John,salary,4000
John,city,NY

在 Hive 中,我可以创建一个映射并将其分解为两列,但在 Pig 中我不知道如何实现这一点。谁能帮我一个方法?

对此的可能答案是使用 UDF,它将接收每一行和输入模式,然后生成元组包,每个元组包含每个字段的一个值。调用 UDF 后,您可以使用 flatten 来获得所需形式的结果