получить общее количество файлов с процессора FetchHDFS - PullRequest
0 голосов
/ 10 сентября 2018

Есть ли способ получить общее количество файлов из одного запуска процессора FetchHDFS?

Мой вариант использования ==> прочитать все файлы из каталога (hdfs), объединить их, а затем выполнить дальнейшую обработку. Но чтобы остановить процессор слияния (пока все файлы не будут в очереди), мне нужно количество файлов, чтобы установить «Минимальное количество записей».

Я могу использовать ожидание / уведомление, но тогда мне все еще нужно общее количество, поэтому установите флажки правильно.

В любом случае, не логично ли иметь это в качестве атрибута для FetchHDFS или любого процессора обработки списка файлов.

Обновление № 2 (Процессор слияния) Согласно конфигурации, процессор слияния должен запускать файл каждые 300 секунд. В моем случае общее количество входных файлов составляет 2000, но они идут медленно (около 200 секунд). Итак, приведенная ниже конфигурация должна быть достаточно хорошей, чтобы объединить все файлы. Но это не работает. Я все еще вижу процессор слияния, позволяющий файлам идти в гораздо меньшем интервале. enter image description here

Обновление № 3 == общий размер всех файлов 1600 составляет 318 КБ, что намного меньше размера корзины 128 МБ

enter image description here

1 Ответ

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

ListHDFS/FetchHDFS не предоставляет количество файлов, выбранных за конкретный прогон.Однако вы можете использовать ExecuteScript или UpdateAttribute и с помощью Wait/Notify и заставить его работать.

Самое простое решение, которое я бы предложил, - MergeContent также принимает одно необязательное свойство, называемое Max Bin Age, вы можете настроить некоторые единицы времени здесь, например 2 mins или 30 secs и установить Minimum Number of Entries на большее число.Таким образом, независимо от того, какой размер очереди не соответствует настроенному номеру в Min. number of entries, по истечении времени, настроенного для Max bin age, эти файлы в очереди будут собраны и объединены вместе.Это может потребовать некоторых предположений и экспериментов, чтобы сделать правильную конфигурацию, хотя.

...