Pig:使用实际的key_name和值创建json文件 [英] Pig: Create json file with actual key_name and values

查看:128
本文介绍了Pig:使用实际的key_name和值创建json文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个使用大象鸟json加载器的猪脚本.

I have a pig script using elephant bird json loader.

data_input = LOAD '$DATA_INPUT' USING com.twitter.elephantbird.pig.load.JsonLoader() AS (json:map []);

x = FOREACH data_input GENERATE json#'user__id_str', json#'user__created_at', json#'user__notifications', json#'user__follow_request_sent', json#'user__friends_count', json#'user__name', json#'user__time_zone', json#'user__profile_background_color', json#'user__is_translation_enabled', json#'user__profile_link_color', json#'user__utc_offset', json#'user__profile_sidebar_border_color', json#'user__has_extended_profile', json#'user__profile_background_tile', json#'user__is_translator', json#'user__profile_text_color', json#'user__location', json#'user__profile_banner_url', json#'user__profile_use_background_image', json#'user__default_profile_image', json#'user__description', json#'user__profile_background_image_url_https', json#'user__profile_sidebar_fill_color', json#'user__followers_count', json#'user__profile_image_url', json#'user__geo_enabled', json#'user__entities__description__urls', json#'user__screen_name', json#'user__favourites_count', json#'user__url', json#'user__statuses_count', json#'user__default_profile', json#'user__lang', json#'user__protected', json#'user__listed_count', json#'user__profile_image_url_https', json#'user__contributors_enabled', json#'user__following', json#'user__verified';

STORE x INTO '$DATA_OUTPUT' USING JsonStorage();

我的输出正确,但字段名称错误.

I have the output right but the field names are wrong.

我的输出具有val_n本身的字段名称:

My output has val_n instaed of the field names themselves:

{"val_0":"40510796","val_1":"Sat May 16 18:03:53 +0000 2009","val_2":"false"......}

我想要类似的东西:

{"user__id_str":"40510796","user__created_at":"Sat May 16 18:03:53 +0000 2009","user__notifications":"false"...........}

如何获取列名?

推荐答案

您是否尝试过在generate语句中提供别名:

Have you tried giving Alias in generate statement:

x = FOREACH data_input生成json#'user__id_str'AS用户__id_str,json#'user__created_at'AS user__created_at;

x = FOREACH data_input GENERATE json#'user__id_str' AS user__id_str, json#'user__created_at' AS user__created_at;

这篇关于Pig:使用实际的key_name和值创建json文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆