我想导入使用Apache NiFi分配了以下Avro模式的文件:
{
"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
问题是方解石不会正确添加新的静态字段。它成功添加了名称,但新的性别字段仅包含单词的第一个字母:
| _id | gender |
|------|--------|
| Eric | M |
| Bill | M |
| Chad | M |
答案 0 :(得分:2)
确保QueryRecord
处理器编写器 avro模式中包含_id,gender
个字段。
Writer Avro Schema:
{
"type" : "record",
"namespace" : "SomeSpaceName",
"name" : "SampleFile",
"fields" : [
{ "name" : "_id" , "type" : ["null","string"] },
{ "name" : "gender" , "type" : ["null","string"] }
]
}