我正在创建一个NiFi WorkFlow来将CSV转换为JSON,并且我需要帮助配置ConvertRecords的JsonRecordSetWriter控制器服务。发生什么事是一个SchemaNotFoundException异常被抛出,说“无法找到名称为'ccr'的架构(我为架构选择的名称)。架构是使用”InferAvroSchema“从CSV文件的头部推断的,”UpdateAttribute “被配置为添加一个名为”schema.name“的属性,该属性被设置为'ccr'(根据来自其他指导和指导的指导)。JsonRecordSetWriter被配置为使用控制器服务”AvroSchemaRegistry“以及添加的属性命名为“ccr”,此属性的值设置为“$ {inferred.avro.schema}”。我希望将属性“inferred.avro.schema”中包含的派生模式用于代替必须将avro模式的实际文本作为值添加到此添加的属性中InferAvroSchema的SchemaOutputDestination属性设置为值“flowfile-attribute”,意味着推断的avro模式将被放入名为“inferred.avro.schema”的属性中。真的需要帮助,我不能凭借项目的要求将模式指定为文本。相反,我想使用推断的模式,以便我可以使用同一个工作流处理不同标题和数据内容的CSV文件。任何帮助和指导,你可以与我分享,我将不胜感激。需要帮助配置NiFi的JsonRecordSetWriter和AvroSchemaRegistry
-1
A
回答
0
如果您的读者或作者的架构访问策略设置为“架构名称”,那么它必须从架构注册表中检索架构名称,架构注册表不会了解有关$ {inferred.avro .schema},它位于流文件中。
您可以将您的编写器设置为使用“架构文本”的架构访问策略,并在架构文本字段中放置$ {inferred.avro.schema},以便动态获取传入流文件中的架构文本。根据您的要求,您目前没有使用架构注册表。
一个不同的选项,它可能适合你...如果你在1.4.0版本,你可以消除InferAvroSchema。您可以使用ConvertRecord和CsvReader并将Schema访问策略设置为“使用来自标题的字符串字段”,以便读者推断一个模式,然后在您的JsonRecordSetWriter中将模式访问启动设置为“从Reader继承”,以便它使用相同的由读者确定的模式。早期版本中不存在继承功能,这就是为什么这取决于1.4.0。
+0
Bende先生,它工作了!非常感谢您提供干净清爽的指导。对此,我真的非常感激! –
相关问题
- 1. 需要帮助配置ImageMagick
- 2. 需要帮助的Nginx的CGI配置
- 3. 我需要帮助日食的配置
- 4. 木偶配置需要帮助
- 5. 需要帮助解析配置数据
- 6. haskell fastcGI on lighttpd,需要配置帮助
- 7. Jenkins需要帮助配置Sphinx
- 8. 需要帮助使用asadmin配置GlassFish
- 9. 需要帮助配置LDAP acl
- 10. 需要帮助配置城堡温莎
- 11. 需要帮助来配置CanCanCan for activeadmin
- 12. 我需要帮助配置ASP.net简介
- 13. 需要帮助设置SMTP
- 14. 需要帮助设置RoboSpock
- 15. 需要帮助设置htaccess
- 16. Lighttpd和Apache Django配置需要的帮助
- 17. 需要帮助
- 18. 需要帮助
- 19. Facebook和TYPO3需要帮助
- 20. 需要帮助PHP和MySQL
- 21. 需要帮助REGEXP_SUBSTR和REGEXP_LIKE
- 22. 需要JQuery和Ajax帮助
- 23. 在Apache NIFi中使用ContentMerge追加JSON文件需要帮助
- 24. 需要帮助配置/设置使用Git(新)
- 25. 配置Crystal Reports所需的帮助
- 26. 需要帮助扩展通配符
- 27. 我需要帮助匹配数据点
- 28. cssSandpaper.js帮助需要?
- 29. 需要ActionListener帮助!
- 30. 需要MySQL帮助
你应该考虑格式化你的问题,以便它实际上是可读的。 – glennsl