Apache NiFi QueryRecord SELECT Колонка статических псевдонимов - PullRequest
0 голосов
/ 25 марта 2019

Я хочу импортировать файл, который имеет следующую схему Avro, назначенную с использованием Apache NiFi:

{
   "type" : "record",
   "namespace" : "SomeSpaceName",
   "name" : "SampleFile",
   "fields" : [
     { "name" : "PersonName" , "type" : "string" },
     { "name" : "PersonType" , "type" : "string" }
   ]
}

Когда я использую процессор QueryRecord , я хочу иметь статическое поле ввыходной файл, чтобы я мог импортировать его в MongoDB.Запрос:

SELECT LOWER(PersonName) as _id,
'Male' as gender
FROM flowfile

Проблема в том, что Calcite не добавит новое статическое поле должным образом.Он успешно добавляет имя, но новое поле пола содержит только первую букву слова:

| _id  | gender |
|------|--------|
| Eric | M      |
| Bill | M      |
| Chad | M      |

1 Ответ

2 голосов
/ 25 марта 2019

Убедитесь, что QueryRecord процессор записи схема avro содержит _id,gender поля, включенные в него.

Writer Avro Schema:

{
   "type" : "record",
   "namespace" : "SomeSpaceName",
   "name" : "SampleFile",
   "fields" : [
     { "name" : "_id" , "type" : ["null","string"] },
     { "name" : "gender" , "type" : ["null","string"] }
   ]
}
...