如何读取CSV并生成json/avro文件,pig按第一列的值分组?

如何读取CSV并生成json/avro文件,pig按第一列的值分组?,json,apache-pig,avro,Json,Apache Pig,Avro,我是pig新手,拥有以下test.csv: A,Mark,45 A,Joe,42 A,Kyle,43 B,Mike,40 我知道我可以通过FOREACH迭代并生成每行的记录,但是 我不知道如何使用pig迭代并生成两条记录,如下所示: {"class":"A",people:[["Mark",45],["Joe",42],["Kyle",43]]} {"class":"B",people:[["Mike",40]]} 请注意,每个记录基本上是按第一列的唯一值分组的。 如果可能的话,这也是另一个

我是pig新手,拥有以下test.csv:

A,Mark,45
A,Joe,42
A,Kyle,43
B,Mike,40
我知道我可以通过FOREACH迭代并生成每行的记录,但是 我不知道如何使用pig迭代并生成两条记录,如下所示:

{"class":"A",people:[["Mark",45],["Joe",42],["Kyle",43]]}
{"class":"B",people:[["Mike",40]]}
请注意,每个记录基本上是按第一列的唯一值分组的。 如果可能的话,这也是另一个可行的选择:

{"class":"A",people:[{"name":"Mark","age":45},{"name":"Joe","age":42},{"name":"Kyle","age":43}]}
{"class":"B",people:[{"name":"Mike","age":40}]}

A=使用PIG存储加载'test.csv',作为col1、col2、col3

B=A组col1

C=每个B生成组,A.col2,A.col3

使用PigStorage'将C存储到'位置','

这将为您提供所需的o/p。如果您想要json格式的o/p,那么使用org.apache.pig.builtin.JsonStorage进行存储