当iam使用DF的列名作为参数时,使用GroupByKey和GroupBy的根本区别是什么?
答案 0 :(得分:2)
没有groupByKey
作为参数的Column
方法。有一些采用函数的方法,或者:
def groupByKey[K](func: MapFunction[T, K], encoder: Encoder[K]): KeyValueGroupedDataset[K, T]
或
def groupByKey[K](func: (T) ⇒ K)(implicit arg0: Encoder[K]): KeyValueGroupedDataset[K, T]
与花费groupBy
的{{1}}相比:
Columns
或def groupBy(cols: Column*): RelationalGroupedDataset
String
区别应该很明显-前两个返回def groupBy(col1: String, cols: String*): RelationalGroupedDataset
(打算用于处理“函数”,“强类型API,例如KeyValueGroupedDataset
或mapGroups
RelationalGroupedDataset`(打算用于处理使用类似SQL的API)。
一般请参见: