Pig的一个小问题 (filter之后 没有数据)

原创 2015年07月07日 17:11:31


写Pig的时候,如果需要对数据中某个字段进行 比较或者运算,尤其是使用Filter的时候。

该字段最好是 bytearray类型,而不要用 int 或者 chararray类型。否则得不到数据


--抽取话单文件中过程号为 attach的话单 统计
set job.name 'lte_kpi_user_analysis_s1mme_attatch_15min';

allData = load '/user/hdfs/data/200506/20050601/000000/0B43CED07C7438B4328F918C64DACE35-merge';


sel_fields = foreach allData generate  FLOOR($10/300)*300+8*3600 as  (time:chararray), $2 as (interface_type:chararray),$8 as (procedure_type:bytearray

,$7 as (msisdn:chararray),$6 as (imei:chararray),$5 as (imsi:chararray),$1 as (city:chararray),$21 as (mme_ip:chararray),$22 as (enodeb_ip:chararray)

,$25 as (tac:chararray),$26 as (cell_id:chararray),$12 as (cause:int),($10-$9) as  (delay:int),$11 as (procedure_status:bytearray);


--抽取过程号等于1 

s1mme_attach = filter sel_fields by procedure_type == 1;


group_by_user = group s1mme_attach by(time, interface_type, procedure_type, msisdn,imei, imsi, city,mme_ip,
   
   enodeb_ip, tac, cell_id, cause, hour,miniute15);
   

tmp_result = foreach group_by_user {
   
  failures = filter s1mme_attach by procedure_status>0;
   
   user_num = distinct s1mme_attach.imsi;
   
   generate FLATTEN(group), COUNT(failures) as count_fail, COUNT(user_num) as count_total, AVG(s1mme_attach.delay);
   
};

--测试输出

filter_tmp = limit s1mme_attach 10;

test_out = limit group_by_user 10;

test_out2 = limit tmp_result 10;

store  filter_tmp into  '/user/hdfs/xiatao/pigOutput/s1mme_attatch_15min_filter1';

store test_out into '/user/hdfs/xiatao/pigOutput/s1mme_attatch_15min_1';

store test_out2 into '/user/hdfs/xiatao/pigOutput/s1mme_attatch_15min_2';

如果不适用 bytearray类型,后面输出的几个文件夹中就没有数据。

相关文章推荐

extjs4.1 grid columns处理几个小问题(第一:combobox 中的store带参数到后台,第二model数据是一个object)

第一个问题:combobox中的store可以通过带参数来区分。 Ext.define("zyc.view.test.ComboboxStoreParam",{ extend:'Ex...

解决一个小问题:git下载Kernel源码时只有.git\objects\pack目录下的.pack文件,而没有自动提取

问题描述: 下载 Android Kernel时只在.git\objects\pack目录下有类似如下的文件: pack-14fa0dd640c9345b90d63eac0b3ac19c624e9...

解决在拍照之后,Media数据没有及时更新问题

在项目中经常会要求用户选择图片来进行操作,但是安卓系统的图库应用却不会自动更新图库,比如调用系统相机进行拍照后将照片保存在自定义目录下。虽然图片成功保存在SD卡上,但是当你再次打开图库的时候却无法看到...

eclipse使用中的一个小问题

  • 2013年06月16日 00:28
  • 286KB
  • 下载

access中的一个小问题

  • 2009年05月21日 19:10
  • 31KB
  • 下载

浅议PB中数据窗口缓冲区与数据修改状态,filter,delete之后不想修改之方法

PB,pb缓冲区,filter detete之后不更新update,PB-数据窗口缓冲区与数据修改状态

Struts2 中的一个小问题

  • 2009年03月07日 09:12
  • 20KB
  • 下载

数据结构及小问题程序代码实现

  • 2015年08月08日 15:20
  • 9.69MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Pig的一个小问题 (filter之后 没有数据)
举报原因:
原因补充:

(最多只允许输入30个字)