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解析中表必须后面有空格,独立出来。


3,关键字大小写不敏感,都能用,但建议保持大写。
      变量大小写敏感。尽量简洁,多用_,但不要太长。

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

%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,

pig代码格式上小注意的更多相关文章

  1. java7:核心技术与最佳实践读书笔记——字节代码格式

    一般流程:开发人员写出java源代码(.java) ->  javac(编译器) -> java字节代码(.class) -> 加载 -> java虚拟机(jvm)运行. 1. ...

  2. Golang语法与代码格式速记【转】

    // Description: Golang语法与代码格式速记 // Author: cxy // Date: 2013-04-01 // Version: 0.3 // TODO 说明 // TOD ...

  3. 2016最新 wamp2.5+windows 10安装CoedSgniffer代码格式检查:

    14:59 2016/1/112016最新 wamp2.5+windows 10安装CoedSgniffer代码格式检查:注意问题:1.手动安装2.5.0和pear安装方式都成功但是执行时无任何反映, ...

  4. 2016最新 wamp2.5+windows 10安装CoedSgniffer代码格式检查:5分钟安装 30分钟入门和浏览常用命令

    14:59 2016/1/112016最新 wamp2.5+windows 10安装CoedSgniffer代码格式检查:注意问题:1.手动安装2.5.0和pear安装方式都成功但是执行时无任何反映, ...

  5. vim粘贴代码格式变乱

    转自netingcn.com 有时候从编辑器里面复制粘贴代码到vim中,代码格式会完全乱套.其原因是vim开启了smartindent(智能缩减)或autoindent(自动对齐)模式.为了保持代码的 ...

  6. python代码块,小数据池,驻留机制深入剖析

    一,什么是代码块. 根据官网提示我们可以获知: 根据提示我们从官方文档找到了这样的说法: A Python program is constructed from code blocks. A blo ...

  7. Python基础学习Day6 is id == 区别,代码块,小数据池 ---->>编码

    一.代码块 Python程序是由代码块构造的.块是一个python程序的文本,他是作为一个单元执行的. 代码块:一个模块,一个函数,一个类,一个文件等都是一个代码块. 而作为交互方式输入的每个命令都是 ...

  8. 关于Java开发过程中质量提升-1代码格式配置

    在项目开发维护中,编码规范作为开发规范的一个组成部分,是十分重要和必须的,它不仅仅是为了提高开发效率,也有利于降低后期维护开发的成本.编码规范的根本目的就是要让不仅代码可以一目了然,也可以很容易的理解 ...

  9. Java代码格式

    东汉大臣陈蕃有一则这种故事,"一屋不扫何以扫天下",寓意来表明一个大丈夫,假设连自己的居室都不能打扫干净,怎么胸怀天下.<代码整洁之道>就是来劝诫我们程序猿写出更优秀的 ...

随机推荐

  1. 单选、多选框根据value值设置选中

    $("input:checkbox[value='video']").parent().addClass('checked'); $("input:radio[value ...

  2. Mobx使用详解

    Mobx是一个功能强大,上手非常容易的状态管理工具.就连redux的作者也曾经向大家推荐过它,在不少情况下你的确可以使用Mobx来替代掉redux. 本教程旨在介绍其用法及概念,并重点介绍其与Reac ...

  3. 解决Mysql数据库拒绝远程连接和忘记密码的问题

    解决数据库忘记密码的问题 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 编辑m ...

  4. 模仿天猫实战【SSM版】——项目起步

    前言:现在自己的学习似乎遇到了瓶颈,感觉学习了 SSM 之后有一些迷茫,不知道接下来该往哪里去努力了,我觉得这是个很不好的状态,为了度过这段时期,我准备把天猫模仿下来(给自己找点事做)之后开始去巩固 ...

  5. 去除html标记和替换script标记

    1: /// <summary> 2: /// 去除HTML标记 3: /// </summary> 4: /// <param name="NoHTML&qu ...

  6. Vue国际化处理 vue-i18n 以及项目自动切换中英文

    1. 环境搭建 命令进入项目目录,执行以下命令安装vue 国际化插件vue-i18n npm install vue-i18n --save 2. 项目增加国际化翻译文件 在项目的src下添加lang ...

  7. MyBatis批量新增和更新

    之前有开发任务一个接口里面有大量的数据新增和更新操作,导致十分缓慢.使用了批量操作之后速度有明显提升,几乎百倍千倍的速度提升. 博主之前统计过,通过普通接口一次数据库插入大概需要200ms,对于大量新 ...

  8. Vulkan API基本概念

    设备初始化 Instance --> GPU --> Device Instance表示具体的Vulkan应用.在一个应用程序中可以创建多个实例,这些实例之间相互独立,互不干扰. 当调用A ...

  9. [extjs5学习笔记]第三十八节 sencha CMD 6.0.0.220版本安装

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/46740381 简介 sencha cmd 6安装过程不需要UAC控制了对于widnow ...

  10. java创建线程

    创建一个线程 Java提供了两种创建线程方法: 通过实现Runable接口: http://blog.csdn.net/duruiqi_fx/article/details/52187275 通过继承 ...