我想按键减少数据帧。reduce 逻辑非常复杂,需要更新大约 10-15 个字段。这就是为什么我想将 DataFrame 转换为 DataSet 并减少 Java POJO。
问题是,在groupByKey-reduceByKey
我得到一些非常奇怪的值之后。Encoders.bean(Entity.class)
读取正确的数据。请参阅代码示例部分。
替换Encoders.bean
为Encoders.kryo
不起作用,异常:
Try to map struct<broker_name:string,server_name:string,order:int,storages:array<struct<timestamp:timestamp,storage:double>>> to Tuple1, but failed as the number of fields does not line up.
我也看到了这个 workarround,但Encoders.product
需要TypeTag
. 我不知道如何TypeTag
在 Java 代码中创建。
泛舟湖上清波郎朗
相关分类