从RelationalGroupedDataset访问sparksession

时间:2018-06-25 15:48:00

标签: apache-spark apache-spark-sql

常规的spark数据框允许通过sparksession访问df.sparksession

class RelationalGroupedDataset protected[sql](
    df: DataFrame,
    groupingExprs: Seq[Expression],
    groupType: RelationalGroupedDataset.GroupType) {

如何访问RelationalGroupedDataset的启动时间?它似乎只是私人的。

我的动机是无需访问sparksession就可以访问spark的隐式对象。

1 个答案:

答案 0 :(得分:2)

除非您依赖使用implicit参数

def f(gds: RelationalGroupedDataset)(implicit spark: SparkSession) = ???

或使用构建器

def f(gds: RelationalGroupedDataset) = {
  import SparkSession.builder.getOrCreate.implicits._
}

通常足够好。如果没有,您总是可以这样使用hack:

def f(gds: RelationalGroupedDataset) = {
  import gds.count.sparkSession.implicits._
}