主要整理了一下,pig里面的一些关键词的含义和用法,pig虽然是一种以数据流处理为核心的框架,但数据库的大部分关键词和操作,在pig里面基本上都能找到对应的函数,非常灵活与简洁,春节前的最后一篇文章了,祝大家春节快乐!
1,保留关键字:
-- Aassert, and, any, all, arrange, as, asc, AVG
-- Bbag, BinStorage, by, bytearray, BIGINTEGER, BIGDECIMAL
-- Ccache, CASE, cat, cd, chararray, cogroup, CONCAT, copyFromLocal, copyToLocal, COUNT, cp, cross
-- Ddatetime, %declare, %default, define, dense, desc, describe, DIFF, distinct, double, du, dump
-- Ee, E, eval, exec, explain
-- Ff, F, filter, flatten, float, foreach, full
-- Ggenerate, group
-- Hhelp
-- Iif, illustrate, import, inner, input, int, into, is
-- Jjoin
-- Kkill
-- Ll, L, left, limit, load, long, ls
-- Mmap, matches, MAX, MIN, mkdir, mv
-- Nnot, null
-- Oonschema, or, order, outer, output
-- Pparallel, pig, PigDump, PigStorage, pwd
-- Qquit
-- Rregister, returns, right, rm, rmf, rollup, run
-- Ssample, set, ship, SIZE, split, stderr, stdin, stdout, store, stream, SUM
-- TTextLoader, TOKENIZE, through, tuple
-- Uunion, using
-- V, W, X, Y, ZVoid
2,大小写敏感,别名大小写敏感,关键字大小写都可以 例如,load,group,foreach与LOAD,GROUP,FOREACH是等价的
3,别名定义(首位字符必须为字母,其他位置可以是字母,数字,下划线)
4,集合类型
Bags ,类似table,可以包含多个row
Tuples,类似一行行row,可以有多个field
Fields,具体的数据
5,列名引用,在关系数据库中我们可以使用列名来定位到某一行数据的某个字段的值,在JDBC中,我们既可以通过列名引用,也可以通过索引下标引用,在pig里,也支持这两种引用,下标引用需要加上$0,$1这样的数字标识。
6,数据类型
(基本类型)
Int:有符号32位整数
Long:有符号64位整数
Float:32位单精度
Double:64位单精度
Chararray:Java里面的字符串类型,必须是UTF-8编码
Bytearray:blob字节类型
Boolean:布尔类型
Datetime:日期类型
Biginteger:Java Bigingteger
Bigdecimal:Java BigDecimal
(集合类型)
Tuple:一个有序的字段值集合,类似Java里面的List
Bag:Tuple的集合,类似Java里面的Collection集合超级接口
Map:Java里面的Map,K和V,直接使用#号分开,引用时需要加上#号
7,运算符:
(1)比较运算符==,!=,,>=, |