2
ユーザー指定の列名とユーザー指定の集計マップを取得するカスタムグループ化と集計関数を作成します。 私は、列名と集計マップの先頭がであるかどうかわかりません。以下のような関数を書いてみたい。しかし私はScalaには新しく、解決できません。Scala-Sparkパラメータ値を持つgroupbyとaggを動的に呼び出します。
def groupAndAggregate(df: DataFrame, aggregateFun: Map[String, String], cols: List[String]): DataFrame ={
val grouped = df.groupBy(cols)
val aggregated = grouped.agg(aggregateFun)
aggregated.show()
}
と
val listOfStrings = List("A", "B", "C")
val result = groupAndAggregate(df, Map("D"-> "SUM", "E"-> "COUNT"), listOfStrings)
私はこれをどのように行うことができますようにそれを呼び出すようにしたいですか? 誰も助けてください。
おかげで多くのことを。はい。 'df.groupBy(cols.head、cols.tail:_ *)'これは主に私が考えることができなかったものです。 2番目のバージョンは私が必要なものです。残りはローカルテスト用です。 – NehaM
私の場合、val key = List( "key1"、 "key2")と同じように機能しました。val grouped = df.groupBy(cols.head、cols:_ *) – Nitin