<!--[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正确,但是当大量数据的时候仍然会出现某些难以预知的错误。