StreamingFileSink и внезапный сбой работы во Flink - PullRequest
0 голосов
/ 23 января 2020

По сути, у меня сегодня не получилось выполнить мою работу, которая заключается в записи в HDFS с использованием StreamingFileSink. К сожалению, я не смог перезапустить работу с состоянием, поэтому я начал с чистого состояния. Я использую схему разбиения по умолчанию

/user/samsara/enriched/2020-01-23--11/part-0-0

В задании уже были созданы файлы размером до part-0-10, когда возникла проблема. После перезагрузки он начал создавать временные файлы для деталей, уже присутствующих в HDFS. Под этим я подразумеваю, что первая запись была добавлена ​​к файлу

/user/samsara/enriched/2020-01-23--11/.part-0-0.inprogress.17218a4a-ddc2-48a4-9eee-71a9e13ffa7e

Когда включилась политика прокрутки, я думаю, что Flink не смог переименовать этот файл в part-0-0, поскольку такой файл уже был в HDFS. Так что это имя файла осталось без изменений. Это ожидаемое поведение, и я ничего не могу с этим поделать? В прошлом я использовал Kafka Connect для обработки таких случаев, и соединитель мог успешно перезапускаться при сбоях. Эти файлы позже используются нашими пакетными потребителями, и я не хочу усложнять их жизнь из-за непоследовательных имен в каталоге. Кроме того, прямо сейчас нетривиально определить, какие файлы еще не готовы к использованию. Есть мысли, как решить эту проблему? Я ожидаю, что Flink каким-то образом переименует эти файлы, по крайней мере, удалит точку перед файлом:)

...