雙子星座

           

          商業(yè)智能需要站在全局角度考慮問(wèn)題

          首先看一下下面這個(gè)表樣.這個(gè)表樣是潤(rùn)乾的一個(gè)示例表樣,接著介紹birt 是如何做的

          5 join dataset

          這個(gè)表樣算是報(bào)表中最常見(jiàn)的一種需求了,把不同粒度的數(shù)據(jù)聚合到同一粒度上.

          我們用automobile 表示汽車(chē)表, 用houseproperty 表示房產(chǎn)表, 用estate表示土地表,用others 表示其他表.他們都有customerid 來(lái)表示客戶(hù)名稱(chēng).customers 表有customerid 和customername

          1. 用視圖來(lái)拼數(shù)據(jù)

             對(duì)于  automobile 聚合使用一個(gè)autoview , sql 如下

             select sum(automobile price* quantity) autototal, customerid  from automobile group by customerid

            對(duì)于 houseproperty 使用如下view

             select sum( house price * quantity ) housetotal, customerid  from houseproperty group by customerid

            對(duì)于 土地和其他也是差不多類(lèi)型的sql

           

            得到了上面這四個(gè)視圖之后, 就把customers 表根據(jù)customerid 和其他四個(gè)視圖join 起來(lái).

            select customername ,  autototal  , housetotal , estatetotal , othertotal

             from  customers c , automobile a , houseproperty h , estate e , others o

             where 四個(gè)視圖和customers的連接條件

           

            由于這個(gè)表樣并不涉及到以 汽車(chē),房產(chǎn),土地, 其他表中的任何一個(gè)客戶(hù)為主, 所以暫時(shí)也不考慮左右連接的問(wèn)題.

           

          2. 使用Birt 的Joined Data Set

             Birt 提供的Joined Data Set 跟數(shù)據(jù)庫(kù)里面的視圖是差不多的概念,使不過(guò)一個(gè)是在數(shù)據(jù)庫(kù)內(nèi)部join 數(shù)據(jù),一個(gè)是使用Java 循環(huán)的方式j(luò)oin 數(shù)據(jù).

             跟上面創(chuàng)建視圖一樣,創(chuàng)建四個(gè)DataSet , 輸出兩個(gè)字段: customerid 和 total.

             然后創(chuàng)建一個(gè)Joint Data Set , 把customers 表和 autototal DataSet 按照customerid join起來(lái).這時(shí)得到四個(gè)字段 customers.customername , customers.customerid  ,  auto DataSet.customerid ,auto DataSet.autotal . 最后我們把這個(gè)Joint DataSet 命名為jdataSet1 (代表的是autoDataSet 和 customers 產(chǎn)生的Joint DataSet ).

            然后繼續(xù)創(chuàng)建另一個(gè)Joint Data Set 把customers 的customerid 和前一步創(chuàng)建的jDataSet1 按照customerid join 起來(lái)得到一個(gè)第二個(gè)Joint DataSet1 ,我們命名為jDataSet2 .

            以此類(lèi)推,最后我們輸出5個(gè)字段: customers.name   ,   auto.total ,  house.total  , estate.total , others.total , 實(shí)際輸出可能在customers.customerid 上重復(fù)了4次.

           

          上面兩種方式報(bào)表的做法主要有兩點(diǎn)差別:

          1. 性能

              如果本身數(shù)據(jù)庫(kù)單獨(dú)執(zhí)行一個(gè)視圖的sql 結(jié)果比較小,而本身的automobile 表數(shù)據(jù)量比較大(也就是說(shuō)一個(gè)customer對(duì)非常多的automobile 記錄) , 那么使用數(shù)據(jù)庫(kù)視圖就會(huì)比較慢. 因?yàn)閿?shù)據(jù)庫(kù)在嘗試得到4個(gè)視圖的結(jié)果進(jìn)行了一些不必要的按照automobiel表的customerid和customers的customerid進(jìn) 行的比較操作( 如果有索引肯定是對(duì)索引進(jìn)行了多次不必要的讀) ,這時(shí)候使用Java的這種循環(huán)方式會(huì)比較快一點(diǎn) . 如果本身結(jié)構(gòu)集比較大,那么還是用數(shù)據(jù)庫(kù)本身的排序和join 比較快, 這個(gè)道理比較類(lèi)似于數(shù)據(jù)庫(kù)中如果結(jié)構(gòu)集大于5% 就不要走索引,直接進(jìn)行全表掃描.只不過(guò)這是一個(gè)java 版的.

          2. 左右連接的問(wèn)題

             如果這個(gè)表的數(shù)據(jù)不是以customers里面的數(shù)據(jù)為主,而是以四個(gè)視圖其中的一個(gè)為主.這時(shí)候要情況可能會(huì)比較復(fù)雜一些.由于我不太清楚birt 里面joint data set 計(jì)算的方式是怎樣的,所以也不太好評(píng)論.不過(guò)如果不使用joint data set , 就是使用一般的編程的方式.那么按照下面這個(gè)思路會(huì)比較好:

          a , b , c , d ,e  為customers , automobiles view  (后面簡(jiǎn)寫(xiě)avlist 表示這個(gè)集), housetotal view , 里面的指針.  四個(gè)view 都已經(jīng)排好了序.group by 是默認(rèn)排序的. outlist 表示最后需要的輸出 , row表示最后輸出的一條數(shù)據(jù)

          for ( 按照主數(shù)據(jù)循環(huán))  {

              row.customerid = customers.customerid;

              if( customers.customerid == avlist[b].customerid) {

                     outlist[x].autotaol = avlist[b].autotal ;

                     b++

               }

              四個(gè)view 同一個(gè)判斷方式, 但是每個(gè)view 的指針指的是不一樣的.

              最后:   outlistSet . add (outlist[x])

          }

           

          如果數(shù)據(jù)源本身的數(shù)據(jù)量也很大,需要輸出的數(shù)據(jù)也很多,則上面兩種方式都會(huì)有性能問(wèn)題,這時(shí)可以考慮商業(yè)智能里面的萬(wàn)金油方式: ETL

           

          3. ETL

              從上面這個(gè)表樣看來(lái),可能會(huì)有兩個(gè)隱含條件.一個(gè)是聚合的數(shù)據(jù)粒度在時(shí)間上是月,另一個(gè)在銷(xiāo)售地點(diǎn)粒度上是:支行086001-301 , 所以用ETL一開(kāi)始就聚合數(shù)據(jù)可能會(huì)更好的解決性能問(wèn)題.另外一個(gè)是如果用戶(hù)想要排序和過(guò)濾數(shù)據(jù)的話用一個(gè)單獨(dú)的ETL聚合表也比拼數(shù)據(jù)的方式好的多.

           

          這篇文章的目的并不只是想解釋一個(gè)做表的問(wèn)題,而是說(shuō)明商業(yè)智能的一些問(wèn)題不光需要站在一個(gè)獨(dú)立的角度思考,有些問(wèn)題本身可能隨著環(huán)境的一些變化而 采取對(duì)應(yīng)的措施,比如上面為了解決排序,過(guò)濾,左右連接,性能問(wèn)題都需要從不同的角度來(lái)考慮問(wèn)題.有時(shí)候可能一個(gè)做表的問(wèn)題不光只是要限定在sql 或某個(gè)報(bào)表軟件的本身,有時(shí)候某個(gè)ETL問(wèn)題可能不關(guān)只是ETL就能解決的,隨著情況的復(fù)雜可能需要從整個(gè)商業(yè)智能的全局來(lái)進(jìn)行考慮,商業(yè)智能越來(lái)越傾向 與多個(gè)解決方法的融合.

          本文原文在 http://www.gemini5201314.net

          如果你對(duì)ETL中性能優(yōu)化問(wèn)題有興趣的話,也可以查看另一篇關(guān)于在ETL中性能優(yōu)化要站在全局的角度,而不是只在數(shù)據(jù)庫(kù)角度的文章.

          posted @ 2008-03-21 12:16 gemini 閱讀(385) | 評(píng)論 (0)編輯 收藏

          重新學(xué)習(xí)Birt 中......

          重新學(xué)習(xí)Birt 中......
          又重新回到birt的學(xué)習(xí)中,以前用的時(shí)候本身功能也不算太好,再加上自己是個(gè)比較浮躁的人,什么都想了解一點(diǎn),所以學(xué)的 也不是很好,最近計(jì)劃又重新系統(tǒng)的學(xué)習(xí)一下Birt ,網(wǎng)上搜了一下,除了eclipse 官方的資料外,幾乎沒(méi)有什么有用的資料,要么就是太舊了,要么根本就是沒(méi)有用,你抄我的,我抄他的,最后大家都抄成了一樣的了,
          算了,還是自己動(dòng)手,豐衣足食吧,決定還是好文章自己寫(xiě), 先寫(xiě)下自己的計(jì)劃吧 , 把roadmap 放出來(lái),也算給自己一種鞭策吧.

          第一篇 : 把birt  用 ecilpse 跑出來(lái).最簡(jiǎn)單的Java 程序. (eclipse 官方的例子)
                   把birt 放到 tomcat 跑起來(lái).                   (eclipse 官方的例子)

          第二篇 : 利用eclipse 的可視化報(bào)表設(shè)計(jì)器設(shè)計(jì)模板,主要介紹,參數(shù),sorting ,  grouping  ,  mapping  ,  filtering , hightlighting ,
                   (eclipse 官方flash演示的文字版)

          第三篇 : 利用birt  的desing api 和 report api 來(lái)做java 編程,主要還是集成到servlet  環(huán)境.

          第四篇 : 把 birt 和pentaho 集成起來(lái) .  (其實(shí)pentaho 官方有一份這個(gè)文檔,不過(guò)我的例子稍微會(huì)介紹的更加實(shí)用一點(diǎn))

          大約時(shí)間是一個(gè)月吧,如果超期了,我就請(qǐng)大家吃飯,呵呵,只要你能夠找的到我 ,
          要真到了那個(gè)時(shí)候, 我只能說(shuō):
          地球是很危險(xiǎn)的,我還是回火星去吧.

          有很多朋友都說(shuō)birt 讓他們很失望,其實(shí)birt 有一點(diǎn)性能問(wèn)題外,基本還算可以,如果你非要說(shuō)有這些,那些不爽,我只能說(shuō)一句話:
          還記得大話西游里面,周星馳率領(lǐng)一群土匪圍攻白晶晶她們, 她們?cè)谥苄邱Y重要部位點(diǎn)了兩次火,然后吳孟達(dá)說(shuō):都焦了,割了算了吧.
          記得周星馳說(shuō)什么嗎?
          不記得就再去重溫一遍經(jīng)典吧?



          posted @ 2007-06-19 23:07 gemini 閱讀(450) | 評(píng)論 (0)編輯 收藏

          eclipse enropa 即將發(fā)布 birt 的新功能一覽

                                  eclipse enropa 即將發(fā)布 birt 的新功能一覽
          最新的eclipse enropa 即將在6月29號(hào)發(fā)布了.官方說(shuō)會(huì)有21個(gè)項(xiàng)目同時(shí)發(fā)布.其中我只關(guān)心三個(gè)項(xiàng)目.一個(gè)是WTP , 一個(gè)是TPTP 最后一個(gè)是BIRT .
          我看了一下BIRT 所增加的新功能,從2.2M4 開(kāi)始
          http://www.eclipse.org/birt/phoenix/project/notable2.2M4.php
          http://www.eclipse.org/birt/phoenix/project/notable2.2M5.php
          http://www.eclipse.org/birt/phoenix/project/notable2.2M6.php
          http://www.eclipse.org/birt/phoenix/project/notable2.2RC0.php


          2.2 M4
          1 . 和WTP集成的BIRT Tag .
          2 . Word Emitter                 支持WORD 的 emitter . (emitter 翻譯是發(fā)射,我想應(yīng)該是可以預(yù)覽和打印的輸出格式吧)
          3 . XML Source Editor            支持xml 格式的編輯器
          4 . Property Editor Changes
          5 . Highlight Style              對(duì)于特定條件的Item 進(jìn)行高亮顯示.

          2.2 M5
          1 . BIRT Chart Improvements             
          2 . Viewer Improvements
          3 . Emitters                   增強(qiáng)了PDF 的emitters
          4 . Advanced Properties        現(xiàn)在可以顯示所有的屬性了.

          2.2 M6
          1 . BIRT Chart Improvements    新增加了一種chart tag library 和chart view servlet
          2 . XLS Emitter Prototype      新增加了一種XLS 輸出的格式
          3 . Linking Cascading Style Sheets      情理之中的事情
          4 . BIRT Viewer Changes        
          5 . Report Examples View        新提供了一些example,提供給初學(xué)者和想了解birt新功能的愛(ài)好者.
          6 . Dynamic Connection Profiles 動(dòng)態(tài)的數(shù)據(jù)源鏈接
          7 . Report Parameter Changes    增加了一種組合框的parameter view.類(lèi)似與選省份和城市的那種雙選框.

          2.2 RC0
          1 . Web Service ODA             新增加的Web Service 的數(shù)據(jù)源.可以支持像ebay , amazon的那種Web Service 的數(shù)據(jù)了.
          2 . Charting Improvements       新增加使用script 來(lái)處理chart的事件.好像是用的javascript.
          3 . PPT Emitter                 新增加對(duì)Power Point  的emitter.
          4 . Dynamic Crosstab Support    
              這是最讓我激動(dòng)的功能.完全就是OLAP的功能的一部分.Palo的demo中,是通過(guò)一個(gè)Excel 的Plug-in,是excel 支持olap的,不過(guò)它不能跨平臺(tái),甚至連excel 都跨不出去,
              而birt提供的這個(gè)功能更加的強(qiáng)大.而且很容易就能夠?qū)崿F(xiàn),定制化也比較強(qiáng)(就是說(shuō)它提供API ,讓你自己編程實(shí)現(xiàn)這些功能).
              
          一下子看到BIRT太多的功能了,希望能夠正式發(fā)布的時(shí)候birt能夠比較穩(wěn)定吧.


          沒(méi)有找到WTP2.0 和 TPTP 4.3 的新功能列表.
          其中我只關(guān)心在TPTP 4.2.2 Callisto 中的TPTP經(jīng)常性的Block 的Issue 解決了沒(méi)有.
          同樣希望TPTP也能夠穩(wěn)定吧。功能倒是其次. java 中profiler 工具倒是不少,可是大多好的都是商業(yè)的,難得有一個(gè)這么好的開(kāi)源的版本,要是bug問(wèn)題不解決就不好了.

          聽(tīng)說(shuō)eclipse 的SOA 建模工具第一次發(fā)布.我倒是不關(guān)心,目前還是把精力focus birt上了,覺(jué)得eclipse 本身可能已經(jīng)沒(méi)有太多新功能發(fā)展了,主要就是把plugin 做好,
          然后想辦法能夠解決plugin 之間版本的兼容性問(wèn)題就夠了. 最近也試用了一下NetBean ,沒(méi)有深入用,還是有點(diǎn)失望的,希望NetBean 的堅(jiān)定擁護(hù)者不要扁我. 字體丑,界面丑
          也就算了,但是跑出來(lái)嚇人就是你的不對(duì)了嘛! 丑也就算了,速度也稍微慢一點(diǎn)(我說(shuō)的是稍微).本來(lái)想看一下它的Porfiler 功能怎么樣的,后來(lái)還是算了,畢竟自己沒(méi)打算
          用.就算是自己沒(méi)有深入用過(guò),不懂吧,亂說(shuō)了話,希望不要引起Netbean 支持者的海扁.

          最近在collab下載svn 的時(shí)候無(wú)意中看到了它的svn enterprise 版的.其中有一個(gè)是支持eclipse 的 Mylyn 插件的(21個(gè)項(xiàng)目其中一個(gè)),做項(xiàng)目管理的.不知道eclipse 搞
          Mylyn 是不是有打算進(jìn)入項(xiàng)目管理領(lǐng)域 . 它居然還是2.0版.不知道有哪位用過(guò).

          最近使用firefox的時(shí)候 ,有時(shí)候打開(kāi)一個(gè)網(wǎng)頁(yè)莫名其妙的就firefox 掛掉了,也不是真的掛了,就是有時(shí)候等個(gè)2分鐘它又好了,有時(shí)候firefox整個(gè)不見(jiàn)了,但是進(jìn)程里面
          它還在,你點(diǎn)開(kāi)一個(gè)新的firefox  然后兩個(gè)人就手拉手的都跑出來(lái)了. 不知道是不是大家也有遇到過(guò)相同情況的. 裝了Opera , firefox 掛掉的時(shí)候就用Opera , 里面有一個(gè)
          打電話的功能我覺(jué)得倒是非常的有意思,創(chuàng)意呀! 不希望firefox 獨(dú)大 , 也不希望eclipse 獨(dú)大 ,更不希望Microsoft 獨(dú)大 , 同樣不希望 Intel 獨(dú)大(AMD hold on) .
          有競(jìng)爭(zhēng)才能推動(dòng)發(fā)展嘛.

          最近在msn 上認(rèn)識(shí)了許多朋友. 有一位跟我聊起了JBoss , 我對(duì)JBoss 的認(rèn)識(shí)還停留在JBoss 服務(wù)器上.后來(lái)聽(tīng)他說(shuō)才知道JBoss 已經(jīng)發(fā)展了一套完整的J2EE 框架了,包括很多
          方面,才恍然大悟 原來(lái)現(xiàn)在中間件這么重要. Red Hat 跟exadel 結(jié)盟要推新的SOA 工具,好像SOA是很火的,不過(guò)還是認(rèn)為如果公司不是做SOA 的,學(xué)SOA 沒(méi)有什么用.
          SOA 要在中國(guó)成熟還要很多年的.那時(shí)候都不知道是個(gè)什么樣子了.不過(guò)將來(lái)一個(gè)公司面對(duì)使用多種操作系統(tǒng),多種數(shù)據(jù)庫(kù),多種軟件平臺(tái),多種編程語(yǔ)言,總會(huì)需要一個(gè)框架
          來(lái)解決這些問(wèn)題的,就算SOA 成功了也好,SOA 失敗了也好,需求總是會(huì)有的.還是等SOA 成熟了再觀望一下吧, 廣告看看還可以,要真掏錢(qián)出來(lái)還是要謹(jǐn)慎的。
          純屬個(gè)人認(rèn)識(shí),說(shuō)的不對(duì)還請(qǐng)高手指點(diǎn).

          寫(xiě)的比較雜,就當(dāng)是看八卦吧.

          最近學(xué)習(xí)Birt ,主要是它的新功能.然后還是準(zhǔn)備學(xué)會(huì)如何在pentaho里面集成 birt 吧.希望能夠和birt 愛(ài)好者,尤其是高手一起交流.

           

          posted @ 2007-06-17 16:33 gemini 閱讀(461) | 評(píng)論 (0)編輯 收藏

          商業(yè)智能研究(十七) Mondrian 如何使用 materialized view

               摘要:   閱讀全文

          posted @ 2007-06-10 19:02 gemini 閱讀(541) | 評(píng)論 (0)編輯 收藏

          商業(yè)智能研究(十六)materialized view+dimension提高mondrian性能(二)

               摘要:   閱讀全文

          posted @ 2007-06-10 18:58 gemini 閱讀(471) | 評(píng)論 (0)編輯 收藏

          商業(yè)智能研究(十五) materialized view+dimension提高mondrian性能

               摘要:   閱讀全文

          posted @ 2007-06-10 18:57 gemini 閱讀(513) | 評(píng)論 (0)編輯 收藏

          商業(yè)智能研究(十四) mondrian + oracle 部署foodmart demo

               摘要:   閱讀全文

          posted @ 2007-06-10 18:56 gemini 閱讀(1168) | 評(píng)論 (0)編輯 收藏

          商業(yè)智能研究 (十三) oracle warehouse 一些基本概念

               摘要:   閱讀全文

          posted @ 2007-06-09 21:54 gemini 閱讀(622) | 評(píng)論 (0)編輯 收藏

          在tomcat上部署pentaho 1.5.3

          最近一直在做mondrian的foodmart的實(shí)驗(yàn),有位朋友的公司要部署一個(gè)pentaho的demo來(lái)做演示,我跟他說(shuō)直接運(yùn)行demo就可以 了,但是他們公司非要自己從頭配一個(gè),所以我就自己做了一下實(shí)驗(yàn)基于最新的1.5.3的,其實(shí)步驟都差不多,其他版本也應(yīng)該可以,希望能給喜歡 pentaho的朋友一點(diǎn)幫助。

          1 . 首先需要下載pentaho-j2ee-deployment- , pentaho-data- 和 pentaho-solution- 三個(gè)包,分別解壓到三個(gè)不同的地方
          2 . 從命令行進(jìn)入pentaho-j2ee-deployment 目錄,運(yùn)行ant -p 會(huì)列出所有的ant 任務(wù),執(zhí)行war-pentaho-tomcat-hypersonic任務(wù),成功之后會(huì)生成4個(gè)war包,pentaho-portal- layout.war , pentaho-style.war 和 sw-style.war ,(sw-style.war 是steel-wheel-style ,是可選項(xiàng),可能是pentaho的一個(gè)例子或者是pentaho的一種style風(fēng)格),還有多出一個(gè)tomcat目錄下的hsqldb目錄下有一個(gè) pentaho.war ,如果你執(zhí)行的是war-pentaho-mysql就是在tomcat目錄下有個(gè)mysql5目錄,里面一樣是pentaho.war.我選用的是 hsqldb .
          3 . 在你的tomcat的安裝目錄下找到conf / server.xml 文件,在其中的host 元素下加上如下這一段,這一段是從pentaho的文檔里面抄來(lái)的,manual-deployment-pentaho- ,其中它列出來(lái)的有些多余,這個(gè)文檔應(yīng)該使用confluence 用pdf 方式導(dǎo)出的,抄的時(shí)候注意檢查一下xml 元素排版上的問(wèn)題.它列出的resource 元素太多了,你查看pentaho-data- 包里面,應(yīng)該只有四個(gè)數(shù)據(jù)庫(kù)hibernate,sampledata,shark,quartz ,把不用的resource元素都刪掉,(應(yīng)該是最上面的四個(gè)).如果你的tomcat啟動(dòng)不了了,檢查一下你添加的部分是不是有錯(cuò)。


           1 
           2 <Context path="/pentaho" docbase="webapps/pentaho/">
           3     <Resource name="jdbc/SampleData" auth="Container"
           4         type="javax.sql.DataSource" maxActive="20" maxIdle="5" maxWait="10000"
           5         username="pentaho_user" password="password"
           6         factory="org.apache.commons.dbcp.BasicDataSourceFactory"
           7         driverClassName="org.hsqldb.jdbcDriver"
           8         url="jdbc:hsqldb:hsql://localhost/sampledata" />
           9     <Resource name="jdbc/Hibernate" auth="Container"
          10         type="javax.sql.DataSource"
          11         factory="org.apache.commons.dbcp.BasicDataSourceFactory"
          12         maxActive="20" maxIdle="5" maxWait="10000" username="hibuser"
          13         password="password" driverClassName="org.hsqldb.jdbcDriver"
          14         url="jdbc:hsqldb:hsql://localhost/hibernate" />
          15     <Resource name="jdbc/Quartz" auth="Container"
          16         type="javax.sql.DataSource"
          17         factory="org.apache.commons.dbcp.BasicDataSourceFactory"
          18         maxActive="20" maxIdle="5" maxWait="10000" username="pentaho_user"
          19         password="password" driverClassName="org.hsqldb.jdbcDriver"
          20         url="jdbc:hsqldb:hsql://localhost/quartz" />
          21     <Resource name="jdbc/Shark" auth="Container"
          22         type="javax.sql.DataSource"
          23         factory="org.apache.commons.dbcp.BasicDataSourceFactory"
          24         maxActive="20" maxIdle="5" maxWait="10000" username="sa" password=""
          25         driverClassName="org.hsqldb.jdbcDriver"
          26         url="jdbc:hsqldb:hsql://localhost/shark" />
          27 </Context>
          28 



          4 . 把pentaho.war copy到tomcat 的webapps目錄下,它會(huì)自動(dòng)解壓的,然后關(guān)閉tomcat , 找到pentaho/WEB-INF/web.xml 文件,找到solution-path元素,指向你解壓后的pentaho-solution- 目錄,注意java里面是用正斜杠 / ,如果你從windows的地址欄copy的話注意把反斜杠改一下.
          5 . 修改pentaho/WEB-INF/classes 目錄下的log4j.xml文件,把   里面的value改成INFO,或者更高,這一步是可選項(xiàng),主要是啟動(dòng)的時(shí)候出現(xiàn)很多不必要的debug 信息.如果你啟動(dòng)的時(shí)候出錯(cuò)了,再改回來(lái)。(一般都是solution-path沒(méi)有找對(duì),我用7-zip解壓的時(shí)候老是解壓到一個(gè)新的目錄,所以后來(lái)指 定 solution-path 的時(shí)候,目錄地址高了一級(jí).)
          6 . 啟動(dòng)pentaho-data- 目錄里面的hsqldb數(shù)據(jù)庫(kù).
          7 . 這個(gè)時(shí)候啟動(dòng)tomcat ,應(yīng)該是不報(bào)任何錯(cuò)誤的.你把瀏覽器指向http://localhost:8080/pentaho ,會(huì)看到pentaho的界面的,只不過(guò)是沒(méi)有什么顏色的那種.
          8 . 把編譯後的三個(gè)war文件copy到tomcat 的webapps目錄下,等它們自動(dòng)解壓之后,再進(jìn)去看,發(fā)現(xiàn)有了樣式了。安裝就完成了.

          貼幾張圖:
          pentaho成功啟動(dòng)后應(yīng)該有 Pentaho BI 平臺(tái)服務(wù)器就緒 這句話.


          安裝了style 和 portal 包之后的登錄界面


          在pentaho-data- 目錄的lib 目錄下執(zhí)行java -cp hsqldb.jar org.hsqldb.util.DatabaseManager  出現(xiàn)的hsqldb 的manager 登錄畫(huà)面
          用戶(hù)名和密碼都在相應(yīng)目錄的數(shù)據(jù)庫(kù)文件里面,hsqldb的數(shù)據(jù)庫(kù)文件是可以用
          文本編輯器打開(kāi)的,搜索password就可以找到用戶(hù)名和密碼了


          sampledata 里面的數(shù)據(jù)




          我在安裝的時(shí)候也碰到了諸多的問(wèn)題,
          1 . 一開(kāi)始編譯的時(shí)候使用的ant war-pentaho-tomcat 任務(wù),它直接報(bào)錯(cuò),說(shuō)找不到rdbms目錄,后來(lái)猜想這個(gè)任務(wù)應(yīng)該是留給其他數(shù)據(jù)庫(kù)編譯的時(shí)候擴(kuò)展的.直接就換了war-pentaho-tomcat- hypersonic 任務(wù)重新編譯了一次
          2 . 后來(lái)從文檔里copy出數(shù)據(jù)源的那句話出錯(cuò)了,導(dǎo)致tomcat啟動(dòng)不了,因?yàn)閺膒df文件copy的那段話排版有問(wèn)題,后來(lái)把它粘貼到eclipse (裝了WTP插件的)里面,一格式化就看出來(lái)了,context 元素和后面的屬性path中間的空格沒(méi)了,還有多出來(lái)了幾個(gè)resource元素.
          3 . 指定solution-path的時(shí)候目錄高了一級(jí).
          4 . 啟動(dòng)tomcat的時(shí)候出現(xiàn)了很多不必要的debug信息,修改log4j文件就可以了,它在tomcat/bin 目錄下還會(huì)生成幾個(gè)log文件,像是server.log 和ReportEngine_.log 文件。


          寫(xiě)這篇文章的目的更多的是希望喜歡pentaho的朋友在用pentaho做實(shí)驗(yàn)的時(shí)候能夠?qū)W會(huì)思考,出現(xiàn)了問(wèn)題先在網(wǎng)上找資料,而不是無(wú)論遇到什么問(wèn)題都求別人來(lái)回答你,知識(shí)是長(zhǎng)期積累的過(guò)程,新技術(shù)總是不斷的出現(xiàn),比如最近火的不得了的JavaFX,
          也許將來(lái)pentaho可能會(huì)用JavaFX 來(lái)做OLAP 和 DashBoard 也不一定的 。關(guān)鍵還是要掌握學(xué)習(xí)的方法,學(xué)會(huì)思考問(wèn)題 . 我安裝的時(shí)候也遇到了很多問(wèn)題,但是只要你細(xì)細(xì)的分析問(wèn)題的原因,總是可以找出解決的辦法的.

          posted @ 2007-06-02 18:07 gemini 閱讀(539) | 評(píng)論 (0)編輯 收藏

          商業(yè)智能平臺(tái)研究 (十) ETL 選型

          商業(yè)智能平臺(tái)研究 (十) ETL 選型
          ETL (Extract-Transform-Load的縮寫(xiě),即數(shù)據(jù)抽取、轉(zhuǎn)換、裝載的過(guò)程)作為BI/DW(Business Intelligence)的核心和靈魂,能夠按照統(tǒng)一的規(guī)則集成并提高數(shù)據(jù)的價(jià)值,是負(fù)責(zé)完成數(shù)據(jù)從數(shù)據(jù)源向目標(biāo)數(shù)據(jù)倉(cāng)庫(kù)轉(zhuǎn)化的過(guò)程,是實(shí)施數(shù)據(jù)倉(cāng)庫(kù)的 重要步驟。如果說(shuō)數(shù)據(jù)倉(cāng)庫(kù)的模型設(shè)計(jì)是一座大廈的設(shè)計(jì)藍(lán)圖,數(shù)據(jù)是磚瓦的話,那么ETL就是建設(shè)大廈的過(guò)程。在整個(gè)項(xiàng)目中最難部分是用戶(hù)需求分析和模型設(shè) 計(jì),而ETL規(guī)則設(shè)計(jì)和實(shí)施則是工作量最大的,約占整個(gè)項(xiàng)目的60%~80%,這是國(guó)內(nèi)外從眾多實(shí)踐中得到的普遍共識(shí)。

          ETL工具從廠商來(lái)分為兩種,一種是數(shù)據(jù)庫(kù)廠商自帶的ETL工具,Oracle warehouse builder 就是這種,另外一種是第三方工具提供商.開(kāi)源世界也有一大票的ETL工具,功能各異,強(qiáng)弱不一,你可以從一下地址找到開(kāi)源ETL工具的列表 http://www.manageability.org/blog/stuff/open-source-etl/view  , 提醒一句,選用工具的時(shí)候要慎重,真的,千萬(wàn)要慎重,不管你是選用商業(yè)的ETL工具(一般比較貴),還是開(kāi)源的工具,都要在你充分了解產(chǎn)品的特性才去選 擇,千萬(wàn)不要聽(tīng)某某人說(shuō)什么這個(gè)工具好,就購(gòu)買(mǎi)了那個(gè)工具,一定要自己了解產(chǎn)品.

          開(kāi)源的ETL工具的列表 (排名是亂排的)
          kettle  http://kettle.pentaho.org/  ,pentaho官方的ETL工具,是一個(gè)metadata-driven 的ETL工具,不需要自己寫(xiě)code .
          talend  http://www.talend.com/    talend是talend自己公司的產(chǎn)品,宣傳的是全功能的Data Integration 解決方案,基于eclipse 平臺(tái),包括很多的模塊來(lái)實(shí)現(xiàn)商業(yè)流程建模,數(shù)據(jù)流程建模,最后輸出的是perl 和 Java code
          jasperETL  http://www.jaspersoft.com/   JasperETL是基于talend的平臺(tái),不太清楚有什么區(qū)別,jaspersoft開(kāi)發(fā)的ETL產(chǎn)品.
          Octopus   http://www.enhydra.org/tech/octopus/index.html    octopuc是enhydra 的一個(gè)ETL工具,enhydra是一個(gè)產(chǎn)品跨度非常大的開(kāi)源站點(diǎn),它有個(gè)開(kāi)源的Workflow ,Shark ,pentaho就是使用的這個(gè)Workflow ,這個(gè)組織從workflow 到application server , 從ETL工具到application framework ,還有一些其他的中間件,octopus非常的原始,支持任何的JDBC數(shù)據(jù)源,用XML語(yǔ)言來(lái)定義的.也支持JDBC-DOBC ,和excel 和 access ,csv-files, XML files ,用Ant 和 JUnit 來(lái)創(chuàng)建表和測(cè)試.
          CloverETL http://cloveretl.berlios.de/   CloverETL是提供給你一組API,用XML來(lái)定義ETL過(guò)程,同樣支持JDBC數(shù)據(jù)源, CloverETL是開(kāi)源的,但是它是沒(méi)有圖形界面的,它提供一個(gè)有圖形界面的CloverGUI 來(lái)進(jìn)行ETL的圖形化開(kāi)發(fā)過(guò)程,但是不是開(kāi)源的,需要購(gòu)買(mǎi)商業(yè)許可證.
          KETL   http://www.ketl.org/    聽(tīng)說(shuō)是幾個(gè)前IBM員工做出來(lái)的ETL產(chǎn)品,
          另外還有很多.不一一寫(xiě)介紹了,只列個(gè)表吧,
          Joost        http://joost.sourceforge.net/    最近有個(gè)web2.0 網(wǎng)站也叫Joost,名字相同而已.
          Xineo        http://software.xineo.net/xil.jspx
          BabelDoc        http://sourceforge.net/projects/babeldoc
          CB2XML        http://sourceforge.net/projects/cb2xml
          mec-eagle        http://sourceforge.net/projects/mec-eagle/
          Transmorpher        http://transmorpher.inrialpes.fr/
          XPipe        http://xpipe.sourceforge.net/Articles/Miscellaneous/fog0000000018.html
          DataSift        http://www.datasift.org/
          Xephyrus Flume        http://www.xephyrus.com/flume/flume-intro.Prlx
          Smallx        https://smallx.dev.java.net/
          Nux        http://dsd.lbl.gov/nux/index.html
          Netflux        http://www.netflux.org/
          OpenDigger       https://opendigger.dev.java.net/
          ServingXML        http://servingxml.sourceforge.net/
          Scriptella        http://scriptella.javaforge.com/
          ETL Integrator        http://www.glassfishwiki.org/jbiwiki/Wiki.jsp?page=ETLSE
          Jitterbit        http://www.jitterbit.com/
          Apatar        http://www.apatar.com/
          Spring Batch       http://static.springframework.org/spring-batch/

          大多數(shù)站點(diǎn)都是在sf.net上的.其中最后一個(gè)是Spring的,大名鼎鼎的Spring 也往ETL插一腳.實(shí)在是..........
          根據(jù)talend官方介紹的數(shù)據(jù),ETL工具的市場(chǎng)份額在2006好像是有160多億美元.由于BI項(xiàng)目的成功,ETL的這一市場(chǎng)份額還會(huì)擴(kuò)大,這也不難 理解,為什么這么多的公司都在做ETL工具了.開(kāi)源世界也免不了想要分一杯羹.再次廢話一句,開(kāi)源的東西你可以免費(fèi)得到和使用,但是當(dāng)你想應(yīng)用到企業(yè)級(jí)開(kāi) 發(fā)的時(shí)候,省錢(qián)可不是唯一應(yīng)該考慮的因素.還是那句話,慎重呀慎重.

          下一篇介紹BI的基本概念.


          posted @ 2007-05-22 21:41 gemini 閱讀(1504) | 評(píng)論 (0)編輯 收藏

          僅列出標(biāo)題
          共2頁(yè): 1 2 下一頁(yè) 

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(3)

          隨筆檔案

          相冊(cè)

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 扎鲁特旗| 额济纳旗| 历史| 邢台市| 栖霞市| 洪洞县| 山西省| 兴仁县| 嘉定区| 西畴县| 阳谷县| 秀山| 滦平县| 金乡县| 延安市| 高雄县| 淮北市| 临清市| 牡丹江市| 民县| 胶州市| 苏尼特左旗| 金湖县| 收藏| 平舆县| 漯河市| 同江市| 景洪市| 丰县| 镇原县| 义马市| 子长县| 虞城县| 通河县| 中山市| 曲阳县| 奉贤区| 衡东县| 株洲市| 淳化县| 金坛市|