Pentaho中國社區(qū)創(chuàng)始人、國信達軟BI專家國信達軟BI技術顧問初建軍。在開源領域,開源BI產品是非常少的,只有兩個:Pentaho;SPagoBI。
首先看一下我們大數(shù)據(jù)的整體方案,這是一個比較概念性的方案。這個方案最頂層是展現(xiàn)這層,這層包括報表。在展現(xiàn)層和數(shù)據(jù)存儲層之間可以建立一個業(yè)務模型,包括如何做數(shù)據(jù)挖掘需要做分類的模型,如果做多維分析要建立多維分析模型,如果做報表要建立業(yè)務模型,這是模型層。我們的工作主要在ETL這一層還有展現(xiàn)這層的工作。至于其他層,如存儲層可以用Hadoop等產品……我們今天的交流主要集中在ETL這一層。
什么是ETL?我們主要面對的是企業(yè)的業(yè)務部門,企業(yè)的領導和決策層他們需要看到數(shù)據(jù),他們只關心兩個事情,他們只關心能不能在規(guī)定時間內看到數(shù)據(jù);看到的數(shù)據(jù)是不是完全正確的。我們?yōu)榱吮U嫌脩裟芸吹綌?shù)據(jù),首先利用模型會建立這樣一個模型,下面還有一個數(shù)據(jù)挖掘模型,預測分析模型。這是我們希望的數(shù)據(jù)模型,我們希望的數(shù)據(jù)是干凈、經過處理的。我想大家很多是IT部門的CIO,我們面臨的問題是數(shù)據(jù)是不干凈的,存儲在很多地方,比如說數(shù)據(jù)有格式化的、非格式化的,日志文件、HTML,還有一些PDF文件、網頁、微博上的數(shù)據(jù),等等。中間的過程就是ETL過程。這是一個概念的圖,實際上還要建立主數(shù)據(jù)、業(yè)務流程。
打個比方,用戶想要干凈的水,很簡單。如果我們是純凈水企業(yè),我們有著不同形態(tài)的水,可能是雨水、河水、地下水,我們的工作是要把這些自然形態(tài)的水變成用戶可以消費、可以喝到的礦泉水,這個過程就是ETL過程,把水抽過來,做清洗、轉化,加工,最后裝到瓶子里。抽取、轉換、加載。這就是ETL的含義。
如何做ETL?從過去的幾年來看,我們做ETL大部分是通過寫代碼的方式來做,這種方式被慢慢的拋棄了,F(xiàn)在我們都要用流程圖的方式,畫一個流程圖來做ETL。市面上有很多商業(yè)軟件,比如Infomatica,Datastage,微軟的SSIS等,基本上和這個非常類似。我們今天講的開源的ETL 工具Kettle也是以畫圖的方式來解決ETL問題。
這是我們做ETL的三種方式的時間和成本的比較,進行的比較。
第一種是手寫代碼,第二種是從上到下的曲線,這種是商業(yè)的ETL軟件,第三種是開源的,就是這條綠色的橫線,這三條曲線揭示的是隨著時間變化,ETL成本有什么變化。手寫代碼的這條曲線,開發(fā)人員用兩個月時間把數(shù)據(jù)搞定了,隨著需求不斷變化代碼要不斷更新,但是人員換了一個,隨著時間推移,代碼維護越來越難,甚至不可維護。很多企業(yè)都是商業(yè)的ETL,有一些商業(yè)軟件最大問題就是成本太高,比如有的購買成本大概是100萬,每年還要交維護費用,所以初期成本非常高,初期購買成本隨著時間推移也在均攤,成本會慢慢下來。而開源軟件初期成本不高,只是每年的維護費用,所以基本是一條直線。
Pentaho Data Integration是一個開源軟件。它在國內不是很流行,但是我們之前就一直在推廣。它的原名叫Kettle(水壺),現(xiàn)在叫PDI。Kettle可以獨立使用,也是PentahoBI平臺的一部分,它分為社區(qū)版和企業(yè)版,通過開源版吸引用戶,通過企業(yè)版為企業(yè)增加收入。我們這次交流的主要是它的社區(qū)版。
這是我們剛才打比方的一個再細化的流程,從水源到成品水,實際上我們建立數(shù)據(jù)倉庫中間還要經過很多過程,第一部分是水源,Data Source,先放到Data Lake(s),然后到Data Mart(s)、Data Warehouse,接下來是Ad-Hoc。
首先看看怎么從不同數(shù)據(jù)源把數(shù)據(jù)取過來。這有一個特點是系統(tǒng)數(shù)據(jù)和原數(shù)據(jù)保持轉換,不會做任何轉化。這樣的話,如果前面數(shù)據(jù)報表出現(xiàn)問題,就可以追蹤溯源找到是哪條出現(xiàn)了問題。所以從Data Source到Data Lake(s)數(shù)據(jù)不發(fā)生變化,但是難點在于數(shù)據(jù)源有很多種。我們看看Kettle支持哪些數(shù)據(jù)源?這些都是Kettle數(shù)據(jù)源。表輸入可以支持30多種數(shù)據(jù)庫,甚至包括一些國產的數(shù)據(jù)庫等等,另外還支持PDF文件輸入、Excel輸入,企業(yè)80%數(shù)據(jù)源都可以通過這個方式處理數(shù)據(jù)。除了已經設置好的數(shù)據(jù)源,如果說企業(yè)數(shù)據(jù)特別特殊,我們還有自定義格式。也沒有關系,Kettle有一個開放的接口,我們可以自己寫代碼來擴展。比如說Oracle增量表輸入,這就是我們自己寫得插件。
現(xiàn)在我們再看一下,第一個就是數(shù)據(jù)源,而第二個階段從Data Lake(s)到Data Mart(s),這里最麻煩的就是數(shù)據(jù)清洗和排除,好幾個數(shù)據(jù)源過來如何保證它是正確的。難點是數(shù)據(jù)驗證、排除,需要人工干預,但是ETL可以幫助你建立企業(yè)的主數(shù)據(jù)。
我們看看Kettle怎么建立清洗流程。Kettle清洗流程非常簡單,這是一個轉換的圖,從前面拖過來一個輸入以后,我們自己定義很多校驗規(guī)則,定義數(shù)據(jù)長度是否在規(guī)定的長度之內,數(shù)據(jù)的大小取決范圍都可以設定好,設定好之后根據(jù)不同的錯誤會分別到不同的地方再做處理,這是一個業(yè)務流程,它非常清晰、簡單,維護起來會輕松很多。
再看第三個環(huán)節(jié),ETL第三個場景就是這里,要求快速開發(fā)。針對此我們推出“敏捷BI”的概念。大家聽說過“敏捷開發(fā)”,其實兩者是相似的,要求開發(fā)人員、業(yè)務人員合在一起開發(fā)。這在以前看來是難以想象的,業(yè)務人員也不會寫代碼,而現(xiàn)在有一個工具,通過這個工具,業(yè)務人員、開發(fā)人員可以通過這個工具來工作,這個工具可以畫ETL流程圖,也可以在這個工具里把畫好的ETL流程通過建模展現(xiàn)出來。同時業(yè)務人員可以看到這些數(shù)據(jù)是否是你需要的數(shù)據(jù),哪些屬性需要修改。從ETL到建模到報表進行一站式開發(fā),可以減少很多迭代過程,效率比較高。
怎么支持大數(shù)據(jù)?有幾種方式:Hadoop、MongoDb Input、HBase Input等等。Kettle本身支持這些,包括數(shù)據(jù)庫的寫入、抽取數(shù)據(jù),除了這些還包括可以調用其他的作業(yè)(這是Hadoop自己帶的腳本工具,如Pig,Oozie 等,Kettle可以自己調)。另外還有基于關系型數(shù)據(jù)庫,這種基于列存儲的關系數(shù)據(jù)庫在設計時考慮到查詢性能,所以也適合于大數(shù)據(jù)的場景。如Greenplum,Infobright等,我們也在幫助客戶做這些數(shù)據(jù)庫和Kettle的實施工作。
下面介紹一下我們的案例。Kettle在哪些地方應用呢,也是大家比較關心的。
這九個地方跟我們有關系。首先看一下流程。聯(lián)想進入的時間比較早,他們也比較注重開源,如何降低企業(yè)成本。我們2008年開始合作。當時給聯(lián)想做了一個報表系統(tǒng),聯(lián)想在亞太區(qū)13個國家的門店、代理商每天銷售的計算機,計算機銷售情況都會上報到聯(lián)想總部。Kettle從上報數(shù)據(jù)里生成報表,直接發(fā)送到郵箱里。同時里面加入回執(zhí)功能,統(tǒng)計一下誰看過這個報表。
第二個是是一家外企,PHOENIX。他們有一個數(shù)據(jù)中心在美國,希望把變化數(shù)據(jù)同步到世界的其他的數(shù)據(jù)中心,這也是一個比較早期的項目數(shù)據(jù)。當時用的是Kettle3.0的版本。
剛開始大家用Kettle不太放心,擔心會擔心出問題。當時給PHOEIIX做這個項目的時候,他們的經理還問我,“我們是不是第一個國內敢吃螃蟹的公司?”我說“不是,聯(lián)想已經吃過了。”所以大家可以放心,我們可以幫助大家解決使用中遇到的問題。另外政府部門也在用,比如說公安部數(shù)據(jù)量比較大,比如人口信息查詢,駕駛員信息查詢。還有我們跟地方公安局有合作,這樣可以降低他們的成本。另外還有電商,比如58同城、淘寶都在用。電商開發(fā)能比較強,我們跟他們做是為他們提供咨詢、培訓,幫助他們的開發(fā)人員快速掌握。其他的還有品眾互動、四維圖新,這些是科技類的中小企業(yè),品眾是做網絡營銷的公司,幫助企業(yè)推廣自己的品牌。現(xiàn)在和我們合作做Hadoop,把數(shù)據(jù)從Hadoop抽出來,他們每天的數(shù)據(jù)量大概在一個T左右。還有四維圖新,它是做地理信息的,他們發(fā)布了一個手機應用叫“就近兒”,類似“百度地圖”,可以查找到最近的優(yōu)惠券、最近的商鋪的信息,我們做后臺的數(shù)據(jù)處理,包括把數(shù)據(jù)從不同網站抓過來,把數(shù)據(jù)集合進行排重,融合,最后進行數(shù)據(jù)發(fā)布。
下面三家是比較大的國企,比如說中國聯(lián)通,他們有一個使用Kettle的項目規(guī)模比較大,現(xiàn)在正在進行中,第一期已經做完了,還比較順利。還有中國電信,電信跟我們的合作也比較長,幫助我們不斷的提高產品功能。這個產品是開源的,但是我們也可以往上提交代碼,也是其中的一個成員。另外就是國家電網,通過第三方公司做項目,我們給第三方集成商做技術支持。
核心關注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領域的管理,全面涵蓋了企業(yè)關注ERP管理系統(tǒng)的核心領域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.ezxoed.cn/
本文網址:http://www.ezxoed.cn/html/consultation/10820612401.html