<!--[if !supportLists]-->1.1     <!--[endif]-->describe

描述:输出关系的结构

语法:describe alais

<!--[if !supportLists]-->1.2     <!--[endif]-->dump

描述:输出关系数据

语法:dump alais

<!--[if !supportLists]-->1.3     <!--[endif]-->explain

描述:使用explain可以输出脚本的计划

语法:EXPLAIN [–script pigscript] [–out path] [–brief] [–dot]

[–param param_name = param_value] [–param_file file_name] alias; 

序号

脚本代码

功能描述

1

script

运行的脚本

2

out

计划输出的路径

3

brief

标示不输出脚本嵌套的内部计划

4

dot 

标示是否图形化输出

5

param param_name = param_value

设定脚本中的变量 $data

6

param_file file_name

设定脚本中的文件变量

7

Alias

关系名

Explain的调试结果:

<!--[if !supportLists]-->1.4     <!--[endif]-->illustrate

描述:使用illustrate可以深入脚本,查看pig脚本是如何运行的

语法:ILLUSTRATE {alias | -script scriptfile}; 

序号

脚本代码

功能描述

1

Alias

关系名

2

Script

运行脚本名称,其中不能包括脚本illustrate

使用illustrate可以缩短debug周期,进行小数据测试,提高测试效率

Illustrate的调试结果

<!--[if !supportLists]-->1.5     <!--[endif]-->debugger功能实现

利用日志捕获功能,结合illustrate命令实现少量数据的预处理,这样一旦出现错误,就利用pigLogger捕获日志,并显现在页面。

此种debugger存在一个问题,就是:少量数据可能debugger正确,但是当大量数据的时候仍然会出现某些难以预知的错误。