DataFrame
の場合、udf
をdf.withColumn("newCol", myUDF("someCol"))
とすると、何らかの操作で簡単に新しい列を生成することができます。 Dataset
にこのような何かを行うには、私はmap
機能を使用することだろうと思います。データセット上のマップ関数は、1つの列の操作に最適化されていますか?
def map[U](func: (T) ⇒ U)(implicit arg0: Encoder[U]): Dataset[U]
あなたは、関数への入力として、ケース全体のクラスT
を渡す必要があります。 Dataset[T]
に多くのフィールド/列がある場合は、T
の多くの列の1つを操作して余分な列を1つ作成したければ、行全体を渡すのは非常に非効率的です。私の質問は、これを最適化できるほどスマートなのですか?