Извлеките имя атрибута и его значение из файла и вставьте в таблицу MySQL - PullRequest
0 голосов
/ 03 января 2019

Я хочу извлечь имя атрибута и его значение, а затем добавить его в таблицы базы данных.

Данные выглядят следующим образом:

   enter code here
{"Name":"Sam","Lastname":"Charles","Address":"1103 pioneer St"}
{"housename":"Jake","Lastname":"Stevenson","Address":"Abel St"}
{"foodname":"pudding","Lastname":"luther","Address":"Half Moon Bay"}

Как я могу добиться этого вNiFi, чтобы я мог извлечь эти значения и вставить в MySQL?Моя таблица MySQL выглядит следующим образом: (ожидаемый вывод выглядит следующим образом):

**Names           Lastname                  Address**

Sam             Charles                    1103 pioneer St

Jake           Stevenson                   Abel St

Pudding         luther                    Half MoonBay

Любое предложение приветствуется.Спасибо.Какой процессор использовать и какое регулярное выражение использовать для достижения этой цели?

1 Ответ

0 голосов
/ 03 января 2019

Вы можете использовать PutDatabaseRecord для этого, если имена полей соответствуют именам столбцов (которым они кажутся), тогда PutDatabaseRecord сгенерирует правильный SQL для выполнения оператора INSERT.Если ваши входные данные составляют один JSON на строку, вам потребуется как минимум NiFi 1.7.0 (для NIFI-4456).Вы можете настроить JsonTreeReader со следующей схемой (для соответствия ваших входных данных и целевых столбцов):

{
 "namespace": "nifi",
 "name": "myRecord",
 "type": "record",
 "fields": [
  {"name": "Name", "type": "string"},
  {"name": "Lastname", "type": "string"},
  {"name": "Address", "type": "string"}
 ]
}

Если в данных могут быть нулевые значения, тогда замените "type": "string" на "type": ["null", "string"]

...