Pig代码格式上小注意

2022-07-03 14:57:03 浏览数 (1)

Pig代码格式上小注意

1,�fault file test.txt 中不要用引号,'' 和“”都不行。'file'不会被识别

2,等号=两边要注意。前必须空,后可以不空。

所以格式最好保持,等号两边都有空格。如A = load '$file' as (date, web, name, food);

因为编译器确定表名,用空格切分,无空格不行,如C= cogroup A by $0, B by $1;执行错误,因为表C名字解析不出来,解析成了“C=”,而用C =cogroup就可以。Pig解析中表必须后面有空格,独立出来。

3,关键字大小写不敏感,都能用,但建议保持大写。

变量大小写敏感。尽量简洁,多用_,但不要太长。

4,必须要有dump或者是store 等实际操作数据内容的命令,才能执行map/reduce,读取表内容。否则,代码只编译。

�fault file test.txt

A = load '$file' as (date, web, name, food);

B = load '$file' as (date, web, name, food);

C= cogroup A by $0, B by $1;

describe C;

illustrate C;

dump C;

注意,load命令写完后,实际不会立刻执行(例如执行describe A也只是生成一个数据结构,不会从文件中读入数据),而是等待illustrate,和dump命令后,才会真正读入数据到A和B中。所以一般报错,也是在执行了dump和illustrate命令后。

5,jion,两个关系做jion把size小的放右边。因为从左边一条一条拿,去右边比较。

6,底层的map和reduce发生,在于数据的操作,parallel 只能制定map。

0 人点赞