2017-08-16 58 views
3

我正嘗試使用配置文件自定義kylo提供的標準數據提取模板。 我添加了字段名稱nifi.getfile.business_line1 =在kylo-services/conf目錄中可用的application.properties文件中進行測試。 當我嘗試在處理器$ {business_line1}中使用nifi表達式時,它會因爲找不到business_line1而引發拋出。在kylo中自定義數據提取模板

或者還有什麼其他的方式來定製標準數據攝取?

任何人都可以請給一個解決的辦法......

回答

3

使用你的榜樣,Kylo會尋找所有的GetFile處理器時,它會創建一個飼料和替換值「測試」的「business_line1」屬性。然而,處理器的GetFile不允許自定義屬性,你會得到類似的錯誤消息:

「business_line1」驗證對「測試」是無效的,因爲 「business_line1」不是支持的屬性

有幾個方法來解決這個問題:

  1. 如果你想使用NiFi表達式,那麼你就需要創建一個UpdateAttribute處理器,並添加「business_line1」屬性那裏。任何後續的處理器將能夠訪問值${business_line1}

  2. 如果你希望所有的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