Pig从入门到精通5:Pig数据模型

1.关系型数据库中的表结构

传统的关系型数据库中,表结构如下图所示:

image

为了保持数据的一致性,每一行记录都具有相同的列,而且每一列都要有值,哪怕是NULL值,也要填充完整。

2.Pig中的”表”Bag结构

Pig中的”表”不像关系型数据库中的表那样是方方正正的表格形式,而是一种叫做Bag的包结构,如下图所示:

image

关于bag有以下几点说明:

  1. Pig中的“表”叫做bag,bag中的”行”叫做tuple,tuple中的”列”叫做field。
  2. Pig的表bag不要求每一行tuple都具有相同的列field。
  3. Pig的表bag中的”行”tuple可以嵌套”表”bag。

3.Pig中的”关系”结构

虽然说Pig中的包bag不要求每一行tuple都拥有相同的field,但是很多时候我们需要使用相同列的表结构,如下图所示:

image

这时候,我们就可以人为的将每一行设置成相同的列,如此就形成一个”关系”。

可以看到,”关系”结构更像RDBMS中的表结构。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容