Pig 中的一些语法知识。
来源:互联网 发布:服务器有几个端口 编辑:程序博客网 时间:2024/06/07 14:01
define 用于给用户自定的函数(UDF)或者是一串命令流设置别名。类似于C中的#define,为了调用函数时更简单明了。
用法:
Define alias {functiion | ['command' [input] [output] [ship] [cache]};
即:将函数或者是一串命令或者是input/output/ship/cache等复制给一个别名alias;
下面是官网中的例子:
DEFINE CMD 'perl PigStreaming.pl - nameMap' input(stdin using PigStreaming(',')) output(stdout using PigStreaming(','));A = LOAD 'file';B = STREAM B THROUGH CMD;
Register
register用于将jar文件导入到pig脚本,这样就可以使用jar文件中的一些函数。类似于在eclipse中通过import导入包以及在visual studio中通过#include来引入一个包。
使用方法是:
register alias;
其中alias 是jar file的路径。
example:
在上面的这段脚本中,将myfunc.jar这个包添加到当前目录中,然后才可以调用这个包中的 myfunc这个函数以及它的MyEvalFunc这个方法。REGISTER /src/myfunc.jar;A = LOAD 'students';B = FOREACH A GENERATE myfunc.MyEvalFunc($0);
Foreach ... Generate...
此关键词的用法是:
alias_A = foreach alias_B generate alias_C,...;
解释: 通过便利alia_B的每一行,根据 其中的变量alias_C等产生新的结构元祖;
注意:alias_C必须是alias_B中的元祖的组成元素。
Group
产生分组;
用法: A =Group B By C;
关于模式:
如果在load的时候没有数据类型,那么默认的数据类型是:byteArray; 即字节数组;如果load的时候,没有as后面的部分,那么引用的时候可以使用$0,$1等来引用元组中内容;
grunt> record_without_as = load 'sample.txt'; grunt> p_recorded = foreach record_without_as generate $0,$1,$2;
LOAD 加载时候的问题:
1. 如果原有的数据是以逗号等分割的,有时候pig不能智能的去分割,这时候使用 PigStorage来完成
a = load 'test2.txt' using PigStorage(',') as (sim_id, cell, time);
关于向pig脚本传入参数的问题
如果pig脚本的输入输出需要通过变量来控制的话,那么:
pig -param input_dir="cell_data_test1.txt" -param output_dir="output_pig/test1" -x local test.pig
0 0
- Pig 中的一些语法知识。
- pig的一些实例(我常用的语法)
- 模板中的语法知识
- matlab的一些语法知识
- mysql中的一些语法
- Verilog 中的一些语法
- zigbee中的一些知识
- Elasticsearch中的一些知识
- 命令行中的一些知识
- 【programming pig】foreach语法
- Hadoop pig进阶语法
- Hadoop pig进阶语法
- Hadoop pig进阶语法
- Hadoop pig进阶语法
- Hadoop pig进阶语法
- Pig基本语法
- Pig 知识盲点
- Delphi 一些基本语法知识总结
- 构造了一种难解的非线性一阶常微分方程,边值特殊;但可用非常规方法求解
- 华为编程规范
- GET和POST区别
- 关于项目管理,关于团队建设
- printf函数参数入栈
- Pig 中的一些语法知识。
- Android资源文件 - 使用资源存储字符串 颜色 尺寸 整型 布尔值 数组
- 5分钟搞定内存字节对齐
- 一个自由开发者首选的java快速开发平台
- ubuntu搭建SVN实现https协议传输
- Android canvas.drawBitmap(...)Bitmmap图片在模拟器和真机上位置不一致问题
- jquery uploadify 上传成功404 和 GET请求 404 Not Found
- Android中Json数据解析(二)--使用Gson、Jackson和FastJson解析Json数据
- 如何利用OpenCV自带的haar training程序训练分类器分类