需要定制的JSON输出 - (我有两个文件 - 文本文件和模式文件)
abc.txt -
100002030,Tom,peter,eng,block 3,lane 5,california,10021
100003031,Tom,john,doc,block 2,lane 2,california,10021
100004032,Tom,jim,eng,block 1,lane 1,california,10021
100005033,Tom,trek,doc,block 2,lane 2,california,10021
100006034,Tom,peter,eng,block 6,lane 6,california,10021
abc_schema.txt(字段名称和位置)
rollno 1
firstname 2
姓氏3
资格4
地址1 5
地址2 6
city 7
Zipcode 8
规则 -
rollno的前6个字符
需要俱乐部地址1 |地址2 |城市
上面的前缀地址
预期输出
{“rollno”:“100002”,“firstname”:“Tom”,“lastname:”peter“,”qualified“:”eng“,”Address“:”block 3 lane 5 california“,”zipcode“ : “10021”}
{“rollno”:“100002”,“firstname”:“Tom”,“lastname:”john“,”qualified“:”doc“,”Address“:”block 2 lane 2 california“,”zipcode“ : “10021”}
{“rollno”:“100004”,“firstname”:“Tom”,“lastname:”jim“,”qualified“:”eng“,”Address“:”block 1 lane 1 california“,”zipcode“ : “10021”}
{“rollno”:“100005”,“firstname”:“Tom”,“lastname:”trek“,”qualified“:”doc“,”Address“:”block 2 lane 2 california“,”zipcode“ : “10021”}
{“rollno”:“100006”,“firstname”:“Tom”,“lastname:”peter“,”qualified“:”eng“,”Address“:”block 6 lane 6 california“,”zipcode“ : “10021”}
我不想对字段进行硬编码,而是从模式文件中读取,我们的想法是拥有可重用的代码。像循环模式文件和文本文件
之类的东西答案 0 :(得分:0)
A = load 'abc.txt' using PigStorage(',') as (rollno, Fname,Lname,qua,add1,add2,city,Zipcode);
B = foreach A generate rollno, Fname,Lname,qua,concate (add1,add2,city) ,Zipcode;
C= STORE B
INTO 'first_table.json'
USING JsonStorage();
希望这有帮助。