Ошибка службы поиска NiFi — не удалось найти координаты в службе поиска

Мы продолжаем получать эту ошибку при попытке использовать любую службу поиска (NiFi или стороннего поставщика) для добавления дополнительных атрибутов к нашему первоначальному запросу DB2:

 Failed to lookup coordinates {LEGAL_ENTITY_ID_NUM=13366} in Lookup Service 

Кому-нибудь удалось объединить данные из двух разных запросов sql на основе общего уникального идентификатора из обоих запросов? Мы пробовали LookupRecord, который использует Lookup Service, MergeRecord и MergeContent - похоже, ничего не работает??

Суть в том, что у нас есть первоначальный основной запрос (идентификатор и статус), затем мы хотим добавить дополнительный атрибут (имя) из второго запроса (только содержит идентификатор и имя) - в каждую запись основного запроса - после присоединения к идентификатору .

Всякий раз, когда мы пытаемся использовать LookupRecord и передаем идентификатор в качестве параметра через ? отметки, мы продолжаем получать вышеуказанную ошибку. С MergeRecord мы тоже ничего не добились. Мы научились объединять содержимое, но на самом деле это не то, что нам нужно (это просто обходной путь).

Когда вы используете LookupRecord, какой LookupService вы используете? В настоящее время нет выпущенной реализации LookupService, которая работает с реляционной БД, хотя ведется активная работа по ее реализации.

Bryan Bende 11.03.2019 16:15

нам не повезло с сервисом поиска от NiFi, поэтому мы попытались использовать пользовательский сервис, созданный Крисом Паркером, который нашел один из наших разработчиков, но безуспешно. Тот был назван SQLRecordLookupService, и мы попытались отправить электронное письмо Крису Паркеру, но не получили ответа.

Matt Michala 11.03.2019 20:16

Мы также пробовали MergeRecord Processor от NiFi, но безрезультатно.

Matt Michala 11.03.2019 20:16

Мы также заставили MergeContent работать с ошибкой: когда он объединяет выходные данные из двух отдельных запросов, он не добавляет их должным образом. Он добавляет результаты одного запроса ExecuteSQL к другому запросу ExecuteSQL после преобразования AvroToJSON, но добавляет в виде двух отдельных блоков текста JSON следующим образом: [Qry1Field1,Qry1Field2][Qry2Field1,Qry2Field2]. Это неправильный формат JSON. Между результатами запроса не должно быть разделителя «][».

Matt Michala 11.03.2019 20:23

MergeContent предназначен для объединения байтов потокового файла один за другим, он понятия не имеет, что содержимое представляет собой JSON, поэтому на самом деле он ведет себя так, как ожидалось. MergeRecord понимает записи и может объединять их вместе как правильный JSON. Однако в обоих случаях слияние — это не объединение, слияние — это запись контента или записей одна за другой для создания больших потоковых файлов.

Bryan Bende 11.03.2019 20:35

Нам давно нужен поиск в БД, и один из коммиттеров только что отправил запрос на включение, так что, надеюсь, он скоро будет доступен — github.com/apache/nifi/pull/3341

Bryan Bende 11.03.2019 20:39

не могу дождаться этого! есть идеи, как скоро? мы можем получить версию в процессе работы?

Matt Michala 11.03.2019 22:22

Вы можете делать все, что хотите, с кодом в этом PR, вы можете создавать и использовать его, проект Apache NiFi не может предоставить его встроенную версию, пока он не станет частью стандартного процесса выпуска.

Bryan Bende 12.03.2019 13:40
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
8
696
0

Другие вопросы по теме