PIG 中的多条记录到一条记录
Multiple records to a single record in PIG
我输入的文件如下。
1,Cust_name1,addr_type,Addr1
1,Cust_name1,addr_type,Addr2
2,Cust_name3,addr_type,Addr1
2,Cust_name3,addr_type,Addr3
想要将其转换为 Avro
格式。
输出应该像
1,Cust_name1,{(addr_type,Addr1),(addr_type,Addr2)
1,Cust_name3,{(addr_type,Addr1),(addr_type,Addr3)
我想为每个客户在 avro 中生成一条消息并在数组中生成重复元素。
GROUP by Id and Customer Name.In 为了以 Avro 格式存储使用 piggybank.jar 中可用的 AvroStorage 并在您的 script.It 中注册它可以从 here 下载
REGISTER /path/piggybank.jar;
A = LOAD 'data.txt' USING PigStorage(',') AS (int:id;name:chararray;addrtype:chararray;addr:chararray);
B = GROUP A BY (id,name);
STORE B INTO '/path/' USING org.apache.pig.piggybank.storage.avro.AvroStorage();;
我输入的文件如下。
1,Cust_name1,addr_type,Addr1
1,Cust_name1,addr_type,Addr2
2,Cust_name3,addr_type,Addr1
2,Cust_name3,addr_type,Addr3
想要将其转换为 Avro
格式。
输出应该像
1,Cust_name1,{(addr_type,Addr1),(addr_type,Addr2)
1,Cust_name3,{(addr_type,Addr1),(addr_type,Addr3)
我想为每个客户在 avro 中生成一条消息并在数组中生成重复元素。
GROUP by Id and Customer Name.In 为了以 Avro 格式存储使用 piggybank.jar 中可用的 AvroStorage 并在您的 script.It 中注册它可以从 here 下载
REGISTER /path/piggybank.jar;
A = LOAD 'data.txt' USING PigStorage(',') AS (int:id;name:chararray;addrtype:chararray;addr:chararray);
B = GROUP A BY (id,name);
STORE B INTO '/path/' USING org.apache.pig.piggybank.storage.avro.AvroStorage();;