У меня есть очень простой конвейер лучей Apache, который применяет метод преобразования к каждому элементу PCollection, вызывая статическую функцию в замыкании Java 8, передаваемую в качестве аргумента MapElements.via ().
Я только что заметил, что за последние несколько месяцев на шаге MapElements было отброшено около 2000 элементов (на 33 000 000 элементов PCollection), поскольку разница в количестве элементов между входом и выходом в пользовательском интерфейсе Cloud Dataflow составляет ~ 2000 коротких на выходе.
Что может быть для этого?
Код в статической функции может генерировать непроверенные исключения. Мне интересно, если MapElements проглотит их, даже не войдя в систему? Я не могу думать ни о каких других причинах, по которым MapElements может отбрасывать элементы, поскольку он определен как преобразование «1 к 1» PTransform.
Это на Apache Beam 2.5.0.