前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pig中使用的一些实例语法

Pig中使用的一些实例语法

作者头像
星哥玩云
发布2022-07-03 14:55:08
1920
发布2022-07-03 14:55:08
举报
文章被收录于专栏:开源部署开源部署

pig中使用的一些实例语法

1:加载名用正则表达式: LOAD '/user/wizad/data/wizad/raw/2014-0{6,7-0,7-1,7-2,7-3,8}*/3_1/adwords*'

2:filter的几种简单用法:

按值过滤

FILTER clickDate_all BY log_type=='2'; FILTER mapping_table BY mapping_ad_network_id=='3' AND mapping_type=='5'; test =FILTER allRow BY (ad_id=='14997' OR ad_id=='14998' OR ad_id=='14999') AND log_type==2; test=FILTER allRow BY (INDEXOF(ad_id,'14997')==0 OR INDEXOF(ad_id,'14998')==0 OR INDEXOF(ad_id,'14999')==0) AND log_type==2;

配合size函数

FILTER count_imei BY (SIZE(cimei)>14 AND SIZE(cimei)<17);

正则表达式

FILTER cimei2 BY NOT cimei MATCHES '^[0-9]*$'; FILTER cmac2 BY cmac MATCHES '/[A-F\d]{2}:[A-F\d]{2}:[A-F\d]{2}:[A-F\d]{2}:[A-F\d]{2}:[A-F\d]{2}/';

3:排序

ORDER province_count BY $2 DESC;

4:CONCAT函数的使用。可用于生成独立的一列,如count了的一个数,前面加一列名称 FOREACH origin_cleaned_data GENERATE CONCAT('<-_','->') AS cou,guid,log_type; read_social_14 =FOREACH metadata_social_14 GENERATE CONCAT('14','=='),guid_social; all_id =FOREACH allRow GENERATE id,CONCAT('_','-') as cc;

5:值替换:过滤空值,改成取值为unknown。 origin_historical = FOREACH origin_cleaned_data GENERATE wizad_ad_id,guid,log_type, ((province_region_id == '') ? 'unknown' : province_region_id)

6:切分成不同子集,按值:  SPLIT geelyTuiGuang INTO Android IF os_id==1,ios IF os_id==2;  SPLIT ios INTO ios6 IF (INDEXOF(os_version,'7')!=0),ios7 IF INDEXOF(os_version,'7')==0;

7:replace函数替换值  FOREACH ios6 GENERATE imei,mac_address as cmac,REPLACE(idfa,'null','');

8: en_guid =STREAM duimei THROUGH `awk -F"," '{if($3 == "null") print $1","$2","; else print $0}'`;

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档