Apache flink ApacheFlink:map与flatMap
在flink中,flatMap还可以发出一条记录。看来平面地图可以代替地图。有人能告诉我这种情况有什么不同吗?谢谢。如果你认为地图是多余的,你是对的。Flatmap可以做map所能做的一切,等等Apache flink ApacheFlink:map与flatMap,apache-flink,Apache Flink,在flink中,flatMap还可以发出一条记录。看来平面地图可以代替地图。有人能告诉我这种情况有什么不同吗?谢谢。如果你认为地图是多余的,你是对的。Flatmap可以做map所能做的一切,等等 然而,我确实在输入和输出之间存在严格的一对一对应关系的情况下使用map。这向读者清楚地表明,例如,在任何情况下,错误或无效输入都不会导致操作无法生成输出记录。如果您认为映射是多余的,则您是正确的。Flatmap可以做map所能做的一切,等等 然而,我确实在输入和输出之间存在严格的一对一对应关系的情况下使
然而,我确实在输入和输出之间存在严格的一对一对应关系的情况下使用map。这向读者清楚地表明,例如,在任何情况下,错误或无效输入都不会导致操作无法生成输出记录。如果您认为映射是多余的,则您是正确的。Flatmap可以做map所能做的一切,等等 然而,我确实在输入和输出之间存在严格的一对一对应关系的情况下使用map。这为读者提供了一个明确的指示,例如,在任何情况下,错误或无效输入都不会导致操作无法生成输出记录。使用
map()
也可以方便地使用lambdas。例如,要将Tuple2
转换为字符串
,可以执行以下操作
.map(value -> value.f1)
使用map()。例如,要将Tuple2
转换为字符串
,可以执行以下操作
.map(value -> value.f1)
map
和flatMap
之间的主要区别在于返回类型。
这两种方法都适用于DataStream和DataSet对象,并针对流或集合中的每个元素执行
但是,map
方法只返回一个元素,而flatMap
返回一个集合(可以不包含任何、一个或多个元素)
map
方法通过方法O out map(I elem)
接收接口MapFunction
的参数。输入是一个元素,输出是一个对象李>
flatMap
方法通过方法void flatMap(I elem,Collector out)
接收接口flatMap函数的参数。输入是元素,输出是对象的集合李>
地图和平面地图的主要区别在于返回类型。
这两种方法都适用于DataStream和DataSet对象,并针对流或集合中的每个元素执行
但是,map
方法只返回一个元素,而flatMap
返回一个集合(可以不包含任何、一个或多个元素)
map
方法通过方法O out map(I elem)
接收接口MapFunction
的参数。输入是一个元素,输出是一个对象李>
flatMap
方法通过方法void flatMap(I elem,Collector out)
接收接口flatMap函数的参数。输入是元素,输出是对象的集合李>
非常感谢!对我来说,最好使用平面图。因为我将向公司的用户提供一个统一的端口。少就是简单。非常感谢!对我来说,最好使用平面图。因为我将向公司的用户提供一个统一的端口。少就是简单。