1.关系型数据库中的表结构
传统的关系型数据库中,表结构如下图所示:
![](https://img.haomeiwen.com/i17634123/8fdea742669fb0cd.png)
为了保持数据的一致性,每一行记录都具有相同的列,而且每一列都要有值,哪怕是NULL值,也要填充完整。
2.Pig中的”表”Bag结构
Pig中的”表”不像关系型数据库中的表那样是方方正正的表格形式,而是一种叫做Bag的包结构,如下图所示:
![](https://img.haomeiwen.com/i17634123/8e0e7b5d290c48ba.png)
关于bag有以下几点说明:
- Pig中的“表”叫做bag,bag中的”行”叫做tuple,tuple中的”列”叫做field。
- Pig的表bag不要求每一行tuple都具有相同的列field。
- Pig的表bag中的”行”tuple可以嵌套”表”bag。
3.Pig中的”关系”结构
虽然说Pig中的包bag不要求每一行tuple都拥有相同的field,但是很多时候我们需要使用相同列的表结构,如下图所示:
![](https://img.haomeiwen.com/i17634123/28918bcda79ccc88.png)
这时候,我们就可以人为的将每一行设置成相同的列,如此就形成一个”关系”。
可以看到,”关系”结构更像RDBMS中的表结构。
网友评论