列A〜Zのデータフレームがあり、他の列の値がnullの場合に基づいてZの値を割り当てたいとします。データフレームの他のすべての列を反復して列の値を決定します。
val df2 = df1.withColumn("Z",
when(col("A") === lit(null), lit("Y"))
.when(col("B") === lit(null), lit("Y"))
.when(col("C") === lit(null), lit("Y"))
...
...
.when(col("Y") === lit(null), lit("Y"))
.otherwise(lit("N")));
withColumn
メソッド内で他のすべての列を反復処理するために、より簡潔な方法があります: 私はこれを行うことができますか?
を探索することによって、これを達成しました。だから、150万行のデータセット 'foldLeft'ではうまくいきません。スパークジョブは終了する前に5時間続けられます。 – Gsquare