Apache Flink: карта против плоской карты - PullRequest
0 голосов
/ 19 сентября 2018

В режиме flink, flatMap также может излучать одну запись.Кажется, flatMap может заменить карту.Может кто-нибудь сказать мне разницу в этой ситуации?Спасибо.

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Использование map() также упрощает использование лямбд.Например, чтобы преобразовать Tuple2<Integer, String> в String, вы можете сделать:

.map(value -> value.f1)
0 голосов
/ 19 сентября 2018

Если вы думаете, что карта лишняя, вы правы.Flatmap может делать все, что может сделать карта, и даже больше.

Тем не менее, я использую карту в ситуациях, когда существует строго однозначное соответствие между входом и выходом.Это служит четким указанием для читателя, что, например, нет ситуаций, когда ошибки или неправильный ввод могли бы привести к сбою операции для создания выходной записи.

...