0

我想导入一个使用 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      |
4

1 回答 1

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"] }
   ]
}
于 2019-03-25T01:08:42.097 回答