一文详解DataFrame的组成包含哪些!
DataFrame是一个二维表结构, 那么表格结构就有无法绕开的三个点:
· 行
· 列
· 表结构描述
比如,在MySQL中的一张表:
· 由许多行组成
· 数据也被分成多个列
· 表也有表结构信息(列、列名、列类型、列约束等)
基于这个前提,DataFrame的组成如下:
在结构层面:
- StructType对象描述整个DataFrame的表结构
- StructField对象描述一个列的信息
在数据层面
- Row对象记录一行数据
- Column对象记录一列数据并包含列的信息

如图, 在表结构层面,DataFrame的表结构由:
StructType描述,如下图

一个StructField记录:列名、列类型、列是否运行为空
多个StructField组成一个StructType对象。
一个StructType对象可以描述一个DataFrame:有几个列、每个列的名字和类型、每个列是否为空
同时,一行数据描述为Row对象,如Row(1, 张三, 11)
一列数据描述为Column对象,Column对象包含一列数据和列的信息。
Row、Column、StructType、StructField的编程我们在后面编码阶段会接触
