Spark的Datasets

13 2月

对于Spark的使用者来说,越简单易用的API越好。所以在原有的RDD之上,Spark陆续添加了DataFrames和Spark SQL。特别是DataFrames,对于小数据集的快速上手非常简单,其API也是从R中借鉴的,很有亲切感。当然在这之下,底层的实现还是RDD,只是对于使用者,抽象程度更高而已。

DataSets是为了解决类型安全和面向对象思维而添加的新API,包含在Spark 1.6中,其也是下个版本集中的方向。

DataSets并不是从关系型数据结构抽象出来的,所以它的API反而和RDD类似,比如

在直接使用的效率和资源消耗上要好一些(图来自DataBricks)

Memory-Usage-when-Caching-Chart-1024x359Distributed-Wordcount-Chart-1024x371

当然,另外一个增强面向对象的特性使用很简单, 主要基于Encoders

参考资料

https://issues.apache.org/jira/browse/SPARK-9999

http://spark.apache.org/docs/latest/programming-guide.html

Introducing Spark Datasets

发表评论

电子邮件地址不会被公开。