преобразовать вывод текста в строку json, используя JsonStorage в PIG - PullRequest
0 голосов
/ 18 марта 2019

Мне нужно сохранить вывод таблицы улья в формате json (ключ, значение).ниже выводится таблица:

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

код, который я использую в pig:

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?

...