Pig join cogroup 介绍
来源:互联网 发布:百家讲坛知乎 编辑:程序博客网 时间:2024/06/01 07:32
join
A:
- 1
- 2
- 3
- 4
- 5
B:
- 1
- 2
- 3
- 4
- 5
- 6
inner join
- 1
- 2
- 3
- 4
output:
- 1
- 2
- 3
- 4
- 5
如果要进行的连接的关系太大,不能全部放到内存当中,则应该使用通用的连接操作。如果有一个关系小到能够全部放在内存中,则可以使用一种特殊的连接操作,即 fragment replicate join,它把小的输入关系发送到所有的mapper,并在map端使用内存查找表对(分段的)较大的关系进行连接。
命令:
- 1
注意: 第一个必须是大的数据集,后面则是一个或者多个相对较小的(能够全部放在内存中)。
outer join
- 1
- 2
注意:A,B需要明确模式,不然会报错
COGROUP
- 1
- 2
output:
- 1
- 2
- 3
- 4
- 5
COGROUP 和join 操作类似,不同点在于,COGROUP会创建一组嵌套的输出元组集合。如上。
COGROUP 为每个不同的分组键值生成一个元组。每个元组的第一个字段就是那个键值。其他字段是各个关系中匹配该键值的元组所组成的 bag。第一个bag中包含A中有该键值的匹配元组,第二个bag同理。
如果某个键值在一个关系中没有匹配的元组,那么对应于这个关系的bag就未空。
COGROUP的默认类型outer连接。可以使用关键词OUTER来显式指明使用 outer连接,产生的结果相同。
- 1
也可以使用INNER 关键字让COGROUP 使用内连接语义
- 1
output:
- 1
- 2
- 3
- 4
扁平化输出结果:
- 1
输出:
- 1
- 2
- 3
- 4
- 5
让所有输出结果都扁平化
- 1
- 2
输出:
- 1
- 2
- 3
- 4
这和上面的join 结果是一样的。
CROSS
CROSS 笛卡尔积。会将第一个关系中的每个元组和第二中的所有元组进行连接。这个操作的输出结果的大小是输入关系的大小的乘积。
- 1
输出:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
GROUP
GROUP语句是对已个数据集中的数据进行分组。GROUP支持对键值进行分组,还可以使用表达式或者用户自定义函数作为分组键。
数据集A:
- 1
- 2
- 3
- 4
- 5
根据第二个字符个数进行分组:
- 1
- 2
output:
- 1
- 2
- 3
sort
数据集:
- 1
- 2
- 3
- 4
使用ORDER关键字 自定按照某个或者某几个字段对数据进行排序。默认的排序方式是对具有相同类型的字段值使用自然序排序。
- 1
输出:
- 1
- 2
- 3
- 4
但是,对于排序后的结果集的后续处理,并不能保证一定按照排序的结果输出,所以通常只在获取结果前一步才使用ORDER排序。
LIMIT 就像sql中的limit一样,限制结果大小,快速获取结果。
- 1
- 2
- 3
- 4
UNION
- Pig join cogroup 介绍
- pig的cogroup详解
- Pig 的flatten, cogroup
- pig中cogroup的使用
- day17:RDD案例(join、cogroup、reduceByKey、groupByKey, join cogroup
- Spark join和cogroup算子
- Spark join与cogroup算子
- Spark的join与cogroup简单示例
- Spark RDD转换操作union、join、cogroup
- pig介绍
- pig- Join 优化
- Spark算子:RDD键值转换操作(4)–cogroup/join
- 【Spark Java API】Transformation(7)—cogroup、join
- RDD键值转换操作(4)–cogroup、join
- Spark算子:RDD键值转换操作(4)–cogroup、join
- Spark算子:RDD键值转换操作(4)–cogroup、join
- 3.3 Spark RDD 键值转换操作4-cogroup、join
- Spark算子[12]:groupByKey、cogroup、join、lookup 源码实例详解
- SpringBoot 集成 activeMQ
- Druid 配置
- 数组
- BZOJ4537[HNOI2016]最小公倍数
- 定义一个图形类及其子类(三角形类和矩形类),分别计算其面积和周长。
- Pig join cogroup 介绍
- OpenStack API 认证和 API 请求工作流程
- linux环境mysql5.7.20安装
- sql server 在存储过程中使用事物
- 能装机,能在无光驱的实机稳定启动的reactos版本
- 5.1 二叉树的顺序存储实验
- 公专星沙考场科目三考试考前相关注意事项
- 华为研发工程师编程题3
- 用选择法对10个数由小到大排序