Pig Latin语言运算符

运算符(使用本地模式)

1.LOAD运算符 LOAD ‘路径名’ USING PigStroage(‘分割符’) AS (表结构)

注 路径名如果是 本地模式,就是linux路径 若是mapreducer模式则是 hdfs路径 ,分割符默认是 ‘\t’
Pig Latin语言运算符_第1张图片

在这里插入图片描述
2.DUMP(查看关系中的数据是以元组的形式返回)
Pig Latin语言运算符_第2张图片
3.DESCRIBE 关系名
在这里插入图片描述

小结:以上三个操作,类似于将文件内容导入数据表中 ,包{}就相当于 一张表,元组()就相当于一条记录 ,元组中的每个字段相当于数据表中的每一列

4.STORE(将关系存到目标路径 一般是hdfs上)
在这里插入图片描述

Pig Latin语言运算符_第3张图片
这里mynba.txt 是个文件夹,就是Java执行 mapreduce程序是生成的文件
Pig Latin语言运算符_第4张图片
Pig Latin语言运算符_第5张图片

我们使用Pig的目的就是将一个 原始文件,最终生成一个关系(表),最后存入一个新的文件中

在生成关系的过程中 不可能只是简单的一个LOAD就完成的,在LOAD所生成的关系后往往要经过,一些字段的筛选,几个关系的结合,和关系的分组之后,才会得到想要的关系,因此接下来就是使用其他的运算符对关系进行处理。。。。。


过滤运算符

1.FILTER(继续以 nbastar那个关系为例吧)

Pig Latin语言运算符_第6张图片
我要筛选,号码大于11的(中文匹配暂时未解决 )

Pig Latin语言运算符_第7张图片

2.DISTINCT
Pig Latin语言运算符_第8张图片

去除重复数据
Pig Latin语言运算符_第9张图片
3.FOREACH GENERATE (select name,team from A )
Pig Latin语言运算符_第10张图片
Pig Latin语言运算符_第11张图片

分组

Pig Latin语言运算符_第12张图片

导入文件看看是啥样子的
在这里插入图片描述
结构
在这里插入图片描述
查询每个球队 所有球员号码
Pig Latin语言运算符_第13张图片

连接

语法:
自连接:新的关系 = JOIN 关系1 By 字段,关系1’ BY 字段; 关系1’和关系1相同
内连接:新的关系 = JOIN 关系1 By 字段 ,关系2 BY 字段
外连接:左外:新的关系 = JOIN 关系1 By 字段 LEFT OUTER,关系2 BY 字段
右外:新的关系 = JOIN 关系1 By 字段 RIGHT OUTER,关系2 BY 字段
全外:新的关系 = JOIN 关系1 By 字段 FULL OUTER,关系2 BY 字段

还有其他的 用法类似,最终生成的是关系 ====》》》》over

个人学习笔记,用于个人记录。。。。。。。

你可能感兴趣的:(大数据)