У меня есть скрипт python, который принимает аргументы командной строки для дешифрования файла. Команда питона будет выполняться выглядит следующим образом:Apache Nifi: файлы с использованием GetFile в ExecuteProcess
python decrypt.py -f "file_to_decrypt.enc" -k "private_key_file.txt"
Я пытаюсь забрать эти файлы вверх, используя GetFile
процессор в NiFi
, который делает работу собирания их, так как я могу видеть имена файлов в журналах.
С другой стороны, у меня есть настройка процесса ExecuteProcess
для запуска скрипта python, как указано выше. Однако мне понадобятся имена файлов, которые будут переданы в ExecuteProcess
для работы скрипта Python. Поэтому мой вопрос заключается в том, как я могу передать файлы с GetFile
в ExecuteProcess process
в Apache NiFi
?
Будет ли это хорошей идеей для очень больших файлов (50 ГБ и более)? – summerNight
Это было бы лучше, потому что вы не загружаете содержимое файлов (которые 'GetFile') в NiFi вообще. В то время как NiFi использует потоковое вещание для обработки больших данных и уважения к куче, репозиторий контента все равно должен будет содержать эти данные, и производительность пострадает. – Andy
Итак, я нахожусь в точке, где я выполнил шаг «MergeContent», и теперь мне нужно развернуть этот объединенный файл в окне свойств ExecuteStreamCommand. Я посмотрел файл и атрибуты использования, но, насколько я понимаю, они не говорят о том, как выбрать файл из объединенного файла. Когда я делаю что-то вроде '$ {filename}', он просто печатает «имя файла» этого объединенного файла, и я не уверен, как его увидеть. В основном, как я могу указать на 'x.enc' или' y.txt' из объединенного файла потока? – summerNight