2017-07-17 32 views
3

Apache Spark数据集API有两种方法,即head(n:Int)take(n:Int)Apache Spark DataSet API:head(n:Int)vs take(n:Int)

Dataset.Scala源包含

def take(n: Int): Array[T] = head(n) 

找不到这两个功能之间执行代码的任何差异。为什么API有两种不同的方法来产生相同的结果?

+0

这只是一个实施选择。这一点没什么可讨论的。 – eliasah

+2

如果你不传递任何参数给它,而返回'Row',而'take'总是返回'Array',这是我能想到的唯一区别。 – philantrovert

+1

@eliasah - 那么,我们可以把它看作是API的冗余吗? –

回答

1

我认为这是因为火花开发者倾向于给它一个丰富的API,还有两种方法wherefilter,它们完全一样。