Spark Dataset API groupByKey KeyValueGroupedDataset

时间:2018-11-25 14:29:59

标签: apache-spark

如何在groupByKey之后以聚合方法创建TypedColumn? 假设我们具有以下数据结构,并且我们创建了一个bean(MyObject)来读取as数据集。

    USER | LIST | PARTNER_LIST

    Dataset<MyObject> r = sp.read()
    .parquet("mypath/*").as(Encoders.bean(MyObject.class));
    //group by list
    r.groupByKey((MapFunction< MyObject, String>) v -> 
    v.getList(), Encoders.STRING())
    .agg(TypedColumn<MyObject,R> what??? )

在agg函数中,我需要传递一个TypedColumn,但是我在网上找不到任何可以解释我如何做到的东西。

有人可以给我一个例子吗?

1 个答案:

答案 0 :(得分:1)

顾名思义,TypedColumn是具有Type的列。

  • 您可以使用Point.new运算符添加类型
  • 您还可以使用Point.new方法添加别名。

一个玩具示例:

as[]