pig代码格式上小注意
1,%default file test.txt 中不要用引号,'' 和“”都不行。'file'不会被识别
2,pig判断相等,用==,不是一个=。、
3,pig中只用单引号,不用双引号,如:
target_data = FILTER analyze_data BY (wizad_ad_id=='199' OR wizad_ad_id=='200' OR wizad_ad_id=='201' OR wizad_ad_id=='202' OR wizad_ad_id=='203');
和
count_guid = FOREACH group_target_data GENERATE CONCAT('campiagnid=','98'), COUNT(target_data.guid);
中,如果单引号的位置用了双引号,会报Lexical error。
4,一个会让你发疯的问题,前面%default要注意格式,如%default Raw_Log /user/wizad/data/wizad/raw/2014-11-{03,04,05}/*/adwords*'
很难发现最后多了一单引号',所以一定要小心。而在load这个文件时候出错。甚至没有生成错误日志文件。
2,等号=两边要注意。前必须空,后可以不空。所以最好等号两边都有空格。如A = load '$file' as (date, web, name, food);
因为编译器确定表名,用空格切分,无空格不行,如C= cogroup A by $0, B by $1;执行错误,因为表C名字解析不出来,解析成了“C=”,而用C =cogroup就可以。Pig解析中表必须后面有空格,独立出来。
%default 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,pig的并行:parallel设置的是reduce阶段的并行,MR只允许用户设置reduce并行,不能控制map,因为MR读数据用InputFormat类,这个类指定map的并行任务数。
所以,用户需要控制map数,就要自行编写加载函数。loadfunc,
相关文章
- Java代码覆盖率框架JaCoCo的core-instr core.internal.instr 包类源码解析
- 基于改进粒子群算法的混合储能系统容量优化(Matlab代码实现)
- 【SCI电气】考虑不同充电需求的电动汽车有序充电调度方法(Matlab代码实现)
- PC逆向之代码还原技术,第三讲汇编中加法的代码还原
- kafka生产者的发送消息的流程以及代码案例
- 最新QQ强制聊天代码,同时可判断好友关系
- 解决从VIM复制出来的代码格式错乱或对齐的问题
- 博客园(cnblog)如何修改代码大小及格式
- Visual Studio 设置C#语言代码格式
- vivado中改变代码字体的大小
- 【2005NOIP普及组】T4.循环 代码解析
- 【2005NOIP普及组】T2.校门外的树 代码解析
- 面向对象设计 腾讯代码案例 学习人家的模式和格式
- 一个短小却令人惊叹的 JavaScript 代码
- 通过自己编写的C语言程序获取lcm正常格式的初始化数据代码
- 数据结构 - 表插入排序 具体解释 及 代码(C++)
- 华为鸿蒙Demo代码竟然编译不过,真是有点不该啊。
- 用word整理网上拷贝的文档格式-去掉代码前的序号
- 前端代码评审执行框架
- ASP.NET Core发送HTML格式邮件(Email)方法及示例代码
- 代码设置RelativeLayout相对位置设置
- 程序员写代码时的各种内心戏 ……