`
weitao1026
  • 浏览: 991527 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

pig里面的一些关键词的含义和用法

阅读更多

主要整理了一下,pig里面的一些关键词的含义和用法,pig虽然是一种以数据流处理为核心的框架,但数据库的大部分关键词和操作,在pig里面基本上都能找到对应的函数,非常灵活与简洁,春节前的最后一篇文章了,祝大家春节快乐!
1,保留关键字:
-- A assert, and, any, all, arrange, as, asc, AVG
-- B bag, BinStorage, by, bytearray, BIGINTEGER, BIGDECIMAL
-- C cache, CASE, cat, cd, chararray, cogroup, CONCAT, copyFromLocal, copyToLocal, COUNT, cp, cross
-- D datetime, %declare, %default, define, dense, desc, describe, DIFF, distinct, double, du, dump
-- E e, E, eval, exec, explain
-- F f, F, filter, flatten, float, foreach, full
-- G generate, group
-- H help
-- I if, illustrate, import, inner, input, int, into, is
-- J join
-- K kill
-- L l, L, left, limit, load, long, ls
-- M map, matches, MAX, MIN, mkdir, mv
-- N not, null
-- O onschema, or, order, outer, output
-- P parallel, pig, PigDump, PigStorage, pwd
-- Q quit
-- R register, returns, right, rm, rmf, rollup, run
-- S sample, set, ship, SIZE, split, stderr, stdin, stdout, store, stream, SUM
-- T TextLoader, TOKENIZE, through, tuple
-- U union, using
-- V, W, X, Y, Z Void
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) 比较运算符==,!=,<,>,>=,<=
(2) 比较运算符matches,适合字符串,支持正则
(3) 算术运算符+,-,*,/,%,?:,CASE
(4) Null运算符is not null ,is null
(5) 集合类型引用符号tuple(.),map(#)
(6) 关系运算符cogroup,group,join
(7) 函数count_star,sum,min,max,count,avg,concat,size
8, 多数据源join时,别名区分,使用A::name,B::name
9, fallten可以将一个集合类型,或嵌套的类型,给扁平化成一行,看下面例子
B={(a,b,c),(b,b,c)}
FLATTEN(B)之后
a,b,c,b,b,c就成为一行数据了
10,cogroup,多表分组使用
11,cross,两个数据源链接,会产生笛卡尔集
12,distinct,去重,与关系型数据库不同的是,不能对单个field去重,必须是一个row,如果你想对单filed去重,那么就需要先把这个filed,单独提取出来,然后在distinct
13,filter,过滤,类似数据库的where条件,返回一个boolean值。
14,foreach,迭代,抽取一列,或几列的数据,
15,group,分组,类似数据库的group
16,partition by,同等hadoop中Partition组件
17,join,分内外连接,与关系型数据库类似,在hadoop中又分不同的连接方式:复制连接,合并连接,skewed连接等
18,limit,限制结果集返回行数,与mysql中的limit关键字类似
19,load,pig特有关键词,负责从一个指定的路径加载数据源,路径可以使用通配符与hadoop的路径通配符保持一致
20,mapreduce,在pig中,以MR的方式执行一个jar包
21,order by 与关系型数据库的order类似
22,rank,给一个集合,生成序号,类似for循环时的索引自增
23,sample,采样器,能从指定的数据集中随机抽取指定的记录数
24,split,可以按条件拆分一个大的数据集,生成几个不同的小数据集
25,store,pig里面的存储结果的函数,可以将一个集合以指定的存储方式,存储到指定的地方
26,stream,提供了以流的方式可以在pig脚本中,与其他的编程语言交互,比如将pig处理的中间结果,传给python,perl,或者shell等等
27,union,类似数据的union,合并两个结果集为一个结果集
28,register,UDF中,使用此关键词注册我们的组件,可能是一个jar包,也可能是一个python文件
29,define,给UDF的引用定义一个别名
30,import,在一个pig脚本中,使用imprt关键词引入另外一个pig脚本

分享到:
评论

相关推荐

    [原创]Apache_Pig的一些基础概念及用法总结

    这是一个学习pig的极好的资料,通俗易懂

    Pig编程指南

    《Pig编程指南》不仅为初学者讲解ApachePig的基础知识,同时也...当读者有大数据处理需求时,《Pig编程指南》提供了如何更高效地使用Pig来完成需求的方法。, 《Pig编程指南》适合各个层次的Pig用户及开发人员阅读使用。

    PIGO搜索 v2.3

    3、增加站内搜索框功能,这样做站的朋友能使用PIGO做站内搜索了,也能卖PIGO搜索里面的广告了……等等。由于工程庞大,下个版本估计会在几个月后完成,大家淡定!最新消息,会公布在PHPig.net。 安装环境1、PHP5.0...

    PIG微服务前后端源码

    PIG(国内微服务热度最高的一个社区)

    pig源码0.15版

    pig0.15源码,适合小白学习大数据参考和使用

    Beginning Apache Pig(Apress,2016)

    Learn to use Apache Pig to develop lightweight big data applications easily and quickly. This book shows you many optimization techniques and covers every context where Pig is used in big data ...

    pig-0.7.0.tar.gz

    Hadoop系统的pig工具包,很好用的

    Pig安装与Pig Latin语言,应用案例.

    来试试Pig安装,与学学Pig Latin语言,玩玩应用案例

    apache pig 基础及应用

    apache pig 基础及应用,urldecode row_number web日志分析 根据 用户行为 做出 简易的 相似度 判断。

    大数据之pig 命令

    pig将就的命令

    大数据pig实战

    大数据pig实战,大数据pig实战,大数据pig实战大数据pig实战大数据pig实战

    Beginning Apache Pig: Big Data Processing Made Easy [2016]

    Beginning Apache Pig: Big Data Processing Made Easy English | 29 Dec. 2016 | ISBN: 1484223365 | 300 Pages | PDF | 4.9 MB Learn to use Apache Pig to develop lightweight big data applications easily ...

    Pig-Toolbox_v1.0.7.6

    Pig-Toolbox_v1.0.7.6 谷歌浏览器插件,CRX可解压,用开发者模式安装

    pig官方udf教程

    pig官方的udf教程,介绍了 Writing Java UDFs Writing Python UDFs Writing JavaScript UDFs Writing Ruby UDFs Piggy Bank,一个开源pig的udf包,主要是java

    Apache Hadoop---Pig.docx

    Pig运行在Hadoop上,是对大型数据集进行分析和评估的平台。它简化了使用Hadoop进行数据分析的要求,提供了一个高层次的、面向领域的抽象语言:PigLatin。通过PigLatin,数据工程师可以将复杂且相互关联的数据分析...

    Pig编程指南.pdf

    Pig编程指南.pdf Pig编程指南英文版pdf文档

    pig-0.15.0

    pig-0.15.0.tar.gz pig-0.15.0.tar.gz pig-0.15.0.tar.gz

    大数据Pig学习

    pig学习 PPT

Global site tag (gtag.js) - Google Analytics