我正在創建一個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. 需要幫助配置phabricator
- 2. 需要幫助配置ImageMagick
- 3. 需要SSL,netscaler和apache配置幫助
- 4. 需要幫助的Nginx的CGI配置
- 5. 我需要幫助日食的配置
- 6. haskell fastcGI on lighttpd,需要配置幫助
- 7. Hibernate OneToMany配置。幫助需要
- 8. 需要幫助配置城堡溫莎
- 9. 需要幫助解析配置數據
- 10. 需要幫助來配置CanCanCan for activeadmin
- 11. 需要幫助來配置mvc路由
- 12. 需要一些幫助配置Vim
- 13. 需要幫助配置LDAP acl
- 14. 需要幫助配置Hadoop 0.23.8
- 15. 木偶配置需要幫助
- 16. 我需要幫助配置ASP.net簡介
- 17. Jenkins需要幫助配置Sphinx
- 18. 需要幫助使用asadmin配置GlassFish
- 19. 需要幫助推斷NiFi中的json文件的avro模式
- 20. 需要幫助設置RoboSpock
- 21. 需要幫助設置htaccess
- 22. 需要幫助設置SMTP
- 23. Lighttpd和Apache Django配置需要的幫助
- 24. 需要幫助
- 25. 需要幫助
- 26. 需要幫助
- 27. 需要幫助NSTimer和UISegmentedControl
- 28. 需要幫助REGEXP_SUBSTR和REGEXP_LIKE
- 29. 需要PHP和MySQL幫助
- 30. Python3和Pyglet - 需要幫助
你應該考慮格式化你的問題,以便它實際上是可讀的。 – glennsl