Столбец статического псевдонима Apache NiFi QueryRecord SELECT

Я хочу импортировать файл со следующей схемой 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      |

person Adam    schedule 24.03.2019    source источник


Ответы (1)


Убедитесь, что QueryRecord модуль записи процессора схема avro содержит _id,gender поля.

Writer Avro Schema:

{
   "type" : "record",
   "namespace" : "SomeSpaceName",
   "name" : "SampleFile",
   "fields" : [
     { "name" : "_id" , "type" : ["null","string"] },
     { "name" : "gender" , "type" : ["null","string"] }
   ]
}
person Shu    schedule 25.03.2019