私は自分のSpark Scalaスキルを向上させるために努力しており、操作する方法を見つけることができないこのケースを持っているので、アドバイスしてください!
下の図に示すように、元のデータがあります。
カウント列のすべての結果のパーセンテージを計算します。例えば。最後のエラー値は64です。64はすべての列の値のパーセンテージです。 sqlContextを使用して元のデータをデータフレームとして読み込んでいることに注意してください。これが私のコードです。
val df1 = df.groupBy(" Code")
.agg(sum("count").alias("sum"), mean("count")
.multiply(100)
.cast("integer").alias("percentage"))
これに似た結果が欲しい:
前もって感謝します!
agg
およびウィンドウ関数を使用します。
import org.Apache.spark.sql.expressions._
import org.Apache.spark.sql.functions._
df
.groupBy("code")
.agg(sum("count").alias("count"))
.withColumn("fraction", col("count") / sum("count").over())