使用PIG中的JsonStorage将文本输出转换为json字符串

时间:2019-03-18 20:54:40

标签: json hadoop hive apache-pig

我需要将配置单元表的输出存储为json(键,值)格式。 下面是表的输出:

1|102|01-01-2009|Dan|90|HR012|California|0023456789

我在猪中使用的代码:

A = LOAD '/output/data/' USING PigStorage('|') as (id:int,group_code:int,start_dt:chararray,name:chararray,dept_id:int,code:chararray,state:chararray,ph_no:int);

STORE A INTO '/output/json_format/' USING org.apache.pig.builtin.JsonStorage();

以上代码将整个值转换为json字符串以下

{"id":1,"group_code":102,"start_dt":"01-01-2009","name":"Dan","dept_id":90,"code":"HR012","state":"California","ph_no":0023456789}

但是我首先需要包括前两列(作为键),然后像下面一样附加整个json字符串(值)

预期输出:

id_group_code|<entire values in json string format>

1_102|{"id":1,"group_code":102,"start_dt":"01-01-2009","name":"Dan","dept_id":90,"code":"HR012","state":"California","ph_no":0023456789}

在蜂巢中,我们可以使用UDF做到这一点,但是有没有简单的方法可以在不使用UDF的情况下实现这一目标?

0 个答案:

没有答案