数据集是Spark针对Java和Scala的结构化API的类型安全版本。这个API在Python和R中是不可用的,因为它们是动态类型的语言,但它是用Scala和Java编写大型应用程序的强大工具。回想一下,DataFrames是Row类型对象的分布式集合,它可以保存各种类型的表格数据。Dataset API允许用户为DataFrame内的记录分配Java类,并将其作为类型化对象的集合进行操作,类似于Java ArrayList或Scala Seq。数据集上可用的api是类型安全的,这意味着您不能意外地将数据集中的对象视为您最初放入的类之外的另一个类。这使得数据集对于编写大型应用程序特别有吸引力,在这些应用程序中,多个软件工程师必须通过定义良好的接口进行交互。Dataset类通过包含在其中的对象类型进行参数化:Dataset