Мы пытаемся загружать файлы из локальной системы в HDFS. Nifi Flow -
ListFile => FetchFile => UpdateAttribute => PutHDFS
ListFile
Стратегия листинга - это отслеживание сущностей. Выполнение Только основной узел.
Сценарий -
В нашей локальной системе у нас есть структура каталогов для данных каждого месяца как -
2019/201901
2019/201902
.
.
2019/201911
2019/201912
Метка времени файлов соответствует месяцу. Все эти ежемесячные папки постоянно получают данные.
Когда процессор ListFile
загружает файлы из каталога 201911
и новые файлы добавляются в другие папки (папки старше 201911, например, 201903), эти файлы не выбираются процессором ListFile
. Я пытался использовать разные значения для свойства Entity Tracking Time Window, но безуспешно. Очевидно, стратегия отслеживания сущностей ведет себя как отслеживание меток времени (кэширование последней метки времени из загруженных файлов и не поглощение каких-либо более старых файлов с метками времени)
Насколько я понимаю, когда мы используем ListFile
со стратегией листинга в качестве отслеживающих сущностей, она будет cache - имя, размер и время последнего изменения метки времени для каждого файла потока, а затем сохраните файлы списков, которых нет в кэше, на основе этих атрибутов.
- Почему процессор ListFile не выбирает файлы с моей текущей конфигурацией
- Итак, в основном я хочу постоянно загружать новые файлы на основе имени файла (независимо от метки времени) и пропускать уже загруженные файлы - есть ли обходной путь для достижения этой цели.