Ввод строк данных в качестве аргументов в Python - PullRequest
1 голос
/ 07 мая 2019

Я хочу передать данные из источника в пункт назначения, используя NI-FI .In NI-FI Я также хочу использовать скрипт Python для маскировки моих данных. Поэтому кто-то предлагает мне передать одну за другой входные строки данных в качестве аргументов в питон.

Итак, я хочу знать, что мне нужно передать файл или каждую строку и столбец вручную в моем скрипте Python для маскировки. Каков наилучший подход и как я могу его получить.

В NI-FI я также хочу использовать скрипт Python для маскировки моих данных, но Getfile Processor и скрипт Python указывают на один и тот же файл, который находится во входной папке NI-FI, поэтому может быть по этой причине я получаю ошибку в команде «Выполнить поток».

Ниже скрипт по запросу пользователя @GMc: -

   class ModJSON(StreamCallback):
    def __init__(self):
        pass

    def process(self, inputStream, outputStream):
        flowFile = session.get()
        obj = {
            "Source": "NiFi",
            "IP": obj['IP'].replace(regex='((?<=[0-9])[0-9]|(?<=\.)[0-9])', value='X'),
            "Name": obj['user']['screen_name']
        }

В этом сценарии я хочу замаскировать свои данные, поступающие с процессора GetFile, но файл находится в очереди.

Я хочу получить данные из источника и преобразовать их.

1 Ответ

0 голосов
/ 07 мая 2019

Прошло немного времени, но, если я правильно помню, интерфейс NiFi к python предоставляет вам глобальную переменную с именем session.

Вы используете объект сеанса, чтобы получить файл потока и передать свой вывод внизправильный нисходящий путь (например, Успех).

Возможно, это руководство поможет вам https://community.hortonworks.com/articles/35568/python-script-in-nifi.html

Я немного запутался в связи с вашей ссылкой на GetInputFile (вы имеете в виду процессор GetFile?) искрипт python.Обычно GetFile получает файл из файловой системы.Затем он преобразуется во внутренний механизм внутри NiFi, известный как FlowFile.Последующие процессоры (например, скрипты Python) получают файл потока из объекта сеанса, что-то с ним делают и, необязательно, передают измененную версию с помощью метода session.transfer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...