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,
相关文章
- VS2010 报错该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
- AStyle代码格式工具在source insight中的使用
- uni-app - 幸运抽奖圆形大转盘插件组件(支持后端接口确定最终奖品,可自定义轮盘宽高、颜色、字号、按钮等等,全端兼容代码干净整洁无 BUG,官方最好用的营销页面抽奖转盘源码)老虎机九宫格式抽奖机
- 为代码签名,供后人瞻仰或唾弃,你敢吗?
- 发现一php木马代码
- EM学习-思想和代码
- 记录一下Swift3.0的一些代码格式的变化
- 《代码大全》的作者Steve McConnell
- SwiftUI 快速开发模版之 macOS 内容格式转换项目架构代码
- GitLab代码回滚到特定版本
- YOLOv5另一种好用的数据集存放格式(附划分代码及查看每个类别分布情况)
- 测试之分类【测试对象、是否查看代码、开发】
- 华为OD机试 - 考优选核酸检测点(Python)| 真题+思路+考点+代码+岗位
- 华为OD机试 - 最小步骤数(Python)| 真题+思路+考点+代码+岗位
- 华为OD机试 - N进制减法(Java) | 机试题+算法思路+考点+代码解析 【2023】