Catalyst Optimizer:
Dataset
数据集仅可用Scala或Java。但是,我们提供了以下上下文来更好地理解Spark 2.0的方向数据集是在2015年作为Apache Spark 1.6版本的一部分引入的。datasets的目标是提供一个类型安全的编程接口。
这允许开发人员使用具有编译时类型安全性的半结构化数据(如JSON或键值对)进行工作(也就是说,生产应用程序在运行之前可以检查错误)。
Python不实现Dataset API的部分原因是Python不是一种类型安全的语言。同样重要的是,数据集API包含高级领域特定的语言操作,如sum()、avg()、join()和group()。
后一个特性意味着您具有传统Spark RDDs的灵活性,但是代码也更容易表达、读取和编写。
从下图中可以看出,DataFrame和Dataset都属于作为Apache Spark的一部分引入的新Dataset API2.0:
DataFrame和Dataset api的统一有可能创建打破向后兼容性的更改。
从下图中可以看出,DataFrame和Dataset都属于作为Apache Spark的一部分引入的新Dataset API2.0:DataFrame和Dataset api的统一有可能创建打破向后兼容性的更改。
这是Apache Spark 2.0成为主要版本的主要原因之一(最小化任何中断的更改)。从下图中可以看出,DataFrame和Dataset都属于作为Apache Spark的一部分引入的新Dataset API2.0:
如前所述,Dataset API提供了一个类型安全的、面向对象的编程接口。数据集可以通过将表达式和数据字段公开给查询接口和
的快速内存编码来利用。但是,随着DataFrame和Dataset现在作为Apache Spark 2.0的一部分统一起来,DataFrame现在是Dataset非类型化API的别名。
更具体地说:
DataFrame = Dataset[T]