2017-07-17 47 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,它們完全一樣。