[ 登录注册 ]

语言

pig使用入门2

2017-07-14 09:42:02 admin 返回上一页

标签:使用   文件   数据   类   表   for   

1、练习

  首先编写两个数据文件A:

  012

  134

  数据文件B:

  052

  178

  上传到HDFS对应目录/input目录下

2、运行pig 加载A和B

  加载数据A:使用指定的分隔符

    grunt> a = load ‘/input/A‘ using PigStorage(‘‘) as (a1:int a2:int a3:int);

  加载数据B:

  grunt> b = load ‘/input/B‘ using PigStorage(‘‘) as (b1:int b2:int b3:int);

3、求ab的并集

  grunt> c = union a b;

  grunt> dump c;    

  (052)

  (178)

  (012)

  (134)

4、

  将c分割为d和e,其中d的第一列数据值为0,e的第一列的数据为1($0表示数据集的第一列):

  grunt> split c into d if $0 == 0 e if $0 == 1;

  查看d:

  grunt> dump d;   

    (012)

    (052)

  查看e:

    (134)

    (178)

5、选择C中的一部分数据(第二列值大于3的记录)

  grunt> f = filter c by $1 > 3;

  查看数据f:

  grunt> dump f;

    (052)

    (178)

6、对数据进行分组

  grunt> g = group c by $2;

  查看g:

  grunt> dump g;

      (2{(012)(052)})

    (4{(134)})

    (8{(178)})

7、将所有的元素集合到一起

  grunt> h = group c all;

  grunt> dump h;  

    (all{(012)(134)(052)(178)})

8、join操作

  grunt> j = join a by $2 b by $2;

  该操作类似于sql中的连表查询,这是的条件是$2 == $2。

  取出c的第二列$1和$1 * $2,将这两列保存在k中

9、对列进行计算

  grunt> k = foreach c generate $1 $1 * $2;

  查看k的内容:

  grunt> dump k; 

    (510)

    (756)

    (12)

    (312)

  

  

 

 

 

  

pig使用入门2布布扣bubuko.com

pig使用入门2

标签:使用   文件   数据   类   表   for   


文章来源:http://www.bozhiyue.com/yuyan/2017/0714/1484244.html
返回上一页    返回分类 上一篇:   下一篇:
相关