Spark dataframe使用详解
Spark DataFrame 使用详解 Spark DataFrame 是一种基于 RDD 的分布式数据集,它提供了详细的结构信息,能够清楚地知道该数据集中包含哪些列、每列的名称和类型。相比于 RDD,DataFrame 的优点在于能够直接获得数据项的内部数据结构,并且由于 Schema 的存在,数据项的转换也都将是类型安全的。 DataFrame 和 RDD 的区别 RDD 是分布式的 Java 对象的集合,而 DataFrame 是一种以 RDD 为基础的分布式数据集。RDD 是不可知的,而 DataFrame 提供了详细的结构信息。RDD 和 DataFrame 都采用惰性机制,只是记录了各种转换的逻辑转换路线图,直到最终的计算时才会被翻译成物理查询计划。 DataFrame 的优点 相比于 RDD,DataFrame 的优点在于能够直接获得数据项的内部数据结构,并且由于 Schema 的存在,数据项的转换也都将是类型安全的。这对于较为复杂的数据计算程序的调试是十分有利的,很多数据类型不匹配的问题都可以在编译阶段就被检查出来。 DataFrame 存储方式 列式存储是近年来出现频率越来越多的一个概念。传统的关系型数据库通常都采用行式存储,而列式存储则是将行拆开,将一列的数据放在一起,同时不同列可以存放在不同的位置。列式存储的优势在于能够提高查询速度,特别是在磁盘上,磁头访问数据的方式是线性的。如果只想根据“Id”进行筛选,即便只是上面那个只有两列的数据表,磁头移动的距离也要超过列式存储的好几倍。 DataFrame 的应用 DataFrame API 中这种支持对列进行访问的形式,要比 RDDs 更加细粒度的查询。这种 Table 式的结构,很容易就可以让我们联想到数据库中数据表,同时 DataFrame API 也支持使用者对 DataFrame 进行数据库那样的关联、聚合、筛选等查询操作。 小结 Spark DataFrame 是一种基于 RDD 的分布式数据集,它提供了详细的结构信息,能够清楚地知道该数据集中包含哪些列、每列的名称和类型。相比于 RDD,DataFrame 的优点在于能够直接获得数据项的内部数据结构,并且由于 Schema 的存在,数据项的转换也都将是类型安全的。DataFrame 的存储方式采用列式存储,能够提高查询速度和数据压缩。
剩余56页未读,继续阅读
- 粉丝: 0
- 资源: 20
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助