Apache flink 如何在Flink keyBy中使用lambda函数

Apache flink 如何在Flink keyBy中使用lambda函数,apache-flink,Apache Flink,我被下面的部分弄糊涂了 起初它说 rides .flatMap(new NYCEnrichment()) .keyBy(value -> value.startCell) 这不好,因为 这种类型的键选择有一个缺点,即编译器无法推断用于键控的字段的类型,因此Flink会将键值作为元组传递,这可能会很尴尬 但在那一节的后面,它说 rides .flatMap(new NYCEnrichment()) .keyBy(enrichedRide -> enri

我被下面的部分弄糊涂了

起初它说

rides
    .flatMap(new NYCEnrichment())
    .keyBy(value -> value.startCell)
这不好,因为

这种类型的键选择有一个缺点,即编译器无法推断用于键控的字段的类型,因此Flink会将键值作为元组传递,这可能会很尴尬

但在那一节的后面,它说

rides
    .flatMap(new NYCEnrichment())
    .keyBy(enrichedRide -> enrichedRide.startCell)

很好,这两个不一样吗?

你是对的,它们是一样的,没有问题


一些形式的keyBy最近被弃用,有人在文档中查看并更新了所有弃用形式的keyBy。总的来说,这是一件非常好的事情,但在这一点上,这样做留下了一段令人困惑的段落——因为坏的例子不再显示。

我仍然看到同样的情况,你能有一个链接吗?