我正在尝试使用配置文件自定义kylo中可用的标准数据摄取模板。 我在kylo-services / conf目录中的application.properties文件中添加了字段名称nifi.getfile.business_line1 = Test。 当我尝试在处理器$ {business_line1}中使用nifi表达式时,它会在找不到business_line1时抛出。
或者有没有其他方法可以自定义标准数据摄取?
任何人都可以为此提供解决方案......
答案 0 :(得分:3)
使用您的示例,Kylo会在创建Feed并替换' business_line1'时查找所有GetFile处理器。具有值'测试'的属性。但是,GetFile处理器不允许自定义属性,并且您将收到类似于以下内容的错误消息:
' business_line1'经过验证'测试'是无效的,因为 ' business_line1'不是受支持的属性
有几种方法可以解决这个问题:
如果您想使用NiFi表达式,那么您需要创建一个UpdateAttribute处理器并添加' business_line1'那里的财产。任何后续处理器都可以访问${business_line1}
如果您希望所有GetFile处理器具有相同的属性值,您可以在Kylo的application.properties中设置以下属性:nifi.getfile.file_filter=Test
Kylo文档详细介绍了如何使用变量替换: http://kylo.readthedocs.io/en/latest/how-to-guides/ConfigurationProperties.html
在NiFi中,您可以使用NiFi表达式语言访问流文件属性: https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html