我們使用Pentaho作爲ETL工具,數據庫是Oracle。注入ETL作業的業務規則引擎(Pentaho)
我們希望賦予最終用戶定義業務規則的權力,最終用戶將在ETL的選定階段執行給定的轉換。
因此,用戶將在用戶界面上定義一些規則。我會創造很多下拉菜單的UI定義某些類型的規則,例:
「範圍」的規則,一列應該是在這個範圍內
「不空」的規則:如果一個字段值null將其更改爲UNKNOWN或
如果總行數增加給定百分比,則停止ETL 等等 這些規則將被注入到ETL作業中。我們不能硬編碼規則。
我試圖用的Pentaho下的Drools但文檔幾乎是不存在的(對於Pentaho的下使用), 所以我決定實施規則引擎自己: 我將創建一個用戶界面,這基本上將允許定義業務規則,那些將被轉換爲SQL語句並存儲在數據庫中。並且在Pentaho中有一些名爲Execute Row Script的步驟,它允許執行存儲在表中的sql語句。
創建業務規則作爲SQL語句的想法似乎不太好,但根據我的研究我沒有任何其他選擇。
你知道任何可以將業務規則創建爲SQL的工具嗎?任何建議總體? 謝謝
謝謝我們不打算擁有一個非常複雜的規則engine.I簡單看了看視頻,所以你正在使用用戶定義的Java表達式與元數據注入? 元數據注入部分似乎有點長時間的工作,是嗎?謝謝 – Oguz 2014-09-04 20:43:08
是的,我們是 - 我們通過代碼注入。直接調用kettle API。但是,在最新版本的PDI 5.2中,該步驟支持本地元數據注入,因此更容易。 Matt腳輪和Diethard Steiner有很好的元數據注入博客文章。 – Codek 2014-09-05 06:35:48
我也有一個示例,您可以在PDI中本地評估SQL片段。我有一天應該博客! – Codek 2014-09-05 06:36:20