pySpoolerRenamer — или как переименовывать поток файлов

PostImage

Photo by Ankush Minda on Unsplash

Доброго времени суток, мой дорогой друг!

Работая с большими потоками данных и их анализом, сталкиваешься с проблемой определения принадлежности файла, его источника, так как 99% от всех потоков генерируют бездушные электрические машины.

Порой бывает сложно определить откуда пришел файл sasder345asd.txt или 123_HDR-Tas.csv (на самом деле это просто набор букв, в большинстве случаев имена файлов имеют структурированное имя, но это все равно тяжело читать человеку).

Изначально решение было небольшой набор bash скриптов для элементарного переименования файлов, все изменилось когда количество потоков резко увеличилось. И появилась более глубокая иерархия каталогов выгрузки, например:

было

vendor/filename

стало

region/point_id/data_name/filename

и использование скриптов уже не помогало.

На помощь как всегда пришел python, за несколько часов был подготовлен скрипт который справлялся с данной функцией на ура. Пройдя несколько итераций исправлений, доработок и двух лет работы в production серверах, я готов предоставить данную утилиту общественности, пользуйтесь и наслаждайтесь pySpoolerRenamer