2017-07-17 9 views
3

Apache Spark Dataset APIには、head(n:Int)take(n:Int)という2つのメソッドがあります。Apache Spark DataSet API:head(n:Int)vs take(n:Int)

Dataset.Scalaソースは、これら2つの関数の実行コードの違いを見つけることができませんでした

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

が含まれています。同じ結果を得るためにAPIに2つの異なる方法があるのはなぜですか?

+0

これは単なる実装の選択です。その点について話し合うことはほとんどありません。 – eliasah

+2

headは、 'take'は常に' Array'を返すのに対し、あなたはそれにパラメタを渡さなければ 'Row'を返します。私は考えることができる唯一の違いです。 – philantrovert

+1

@eliasah - だから、APIで冗長性を取ることはできますか? –

答えて

1

これは、スパークの開発者が豊富なAPIを提供する傾向があることと、まったく同じことを行うwherefilterという2つの方法があるからです。

関連する問題