Как динамически извлекать строки, ссылаясь на таблицу и идентификатор строки из входящих файлов потока в nifi - PullRequest
0 голосов
/ 25 мая 2018

В моем случае использования у меня будет таблица hbase, из которой я буду читать инкрементные записи, используя getHbase, и одно из значений из этой записи должно использоваться в качестве входных данных для процессора FetchHBaseRow.Итак, как я могу получить доступ к содержимому файла из файла потока и использовать его в качестве входных данных для FetchHbaseRow.

1 Ответ

0 голосов
/ 25 мая 2018

Вы можете иметь GetHBase и подключить его к EvaluateJsonPath (поскольку GetHBase выводит результат в формате JSON), чтобы получить идентификатор строки, а затем использовать идентификатор строки в FetchHBaseRow, задав динамическое имя атрибута, используемое в EvalueteJsonPath всвойство Row Identifier в FetchHBaseRow.

В моем примере я упоминал, что EvaluateJsonPath используется для чтения ключа строки, но вы можете использовать допустимое выражение Json Path для чтения любых значений из вывода GetHBase ииспользуй это.

Поток пробы

Sample Flow

Ключ чтения строки

Используя EvaluateJsonPath, мы читаем ключ строки из вывода JSON процессором GetHBase.Убедитесь, что для Destination установлено значение flowfile-attribute

Reading Row Key

Использование обработанного ключа строки

Мыпрочитайте ключ строки и поместите его в атрибут row.key.Здесь мы используем этот атрибут в свойстве Row Identifier в FetchHBaseRow

Using parsed Row key

...