1. 程式人生 > >四種BI 開源工具介紹-SpagoBI,openI,JasperSoft,Pentaho

四種BI 開源工具介紹-SpagoBI,openI,JasperSoft,Pentaho

1 BI系統的簡述

從技術角度來說 BI 包含了 ETL、DW、OLAP、DM等多環節。簡單的說就是把交易系統已經發生過的資料,通過ETL工具抽取到主題明確的資料倉庫中,OLAP後生成Cube或報表,透過Portal展現給使用者,使用者 利用這些經過分類、聚集、描述和視覺化的資料,支援業務決策。

這些眾多的BI專案從規模和對BI系統支撐的完善程度上來說,大體可以分為Framework、Stand-alone Tools和BI Suit三種類型。

  • Framework

開源框架,這是在商業BI系統中所沒有的。我們可以使用它們來構建自己的BI工具,或者增強和擴充套件我們的BI解決方案。

  • Stand-alone Tools

獨立的BI工具,這是開源專案中數量最多的一類。很多工具只側重BI系統中的某個環節和方面,如ETL、Report、OLAP和Database等等。

  • BI Suit

在統一的架構下提供了多種BI系統的特性的工具集合。就目前的情況看,不管是商業軟體還是開源軟體,還沒有任何一個套件提供了完整的端到端的BI解決方案。這些開源的BI Suit是通過連線多個其他的元件和工具的方式形成套件的,由於BI系統涉及到的工具是非常多的,所以整合一套完整的BI解決方案是很困難的。

2 BI解決方案中的工具

一個完整的BI解決方案中有多種工具來完成BI系統中各個階段的工作。

2.1 ETL工具

資料抽取、轉換和載入工具。優秀的ETL工具應該具有以下特性:

  1. Workflow Management, Job Execution and Scheduling Manager。能方便地定義流程並自動化執行ETL任務;
  2. Centralized Metadata Repository and Management。集中儲存和管理符合業界標準的元資料;
  3. Data Profile and Validation。可以檢驗資料的質量;
  4. High Performance。在大負荷的任務執行中仍然有良好的效能;
  5. Scalable, Platform Independent。具有良好的彈性,支援多種作業系統和資料庫系統,能操作多種異構的資料來源;
  6. Open Architecture and API。具有開放的架構和易於使用的二次開發介面。

目前較為知名的開源ETL工具有:

  1.  KETL,由具有IBM和KPMG背景的Kinetic Networks公司開發,現在已經有三年多的產品應用歷史,成功應用於一些產品中,在點選流(ClickStream)分析應用中表現出色。KETL採用Plug-in的架構,使用Java開發;
  2.  KETTLE,為一個元資料驅動的ETL工具。已經加入Pentaho;
  3.  Clover ETL,為一個基於Java的ETL Framework,可以用來開發自己的ETL應用;
  4. Enhydra Octopus,為一個基於Java的ETL工具,使用JDBC來連線各種資料來源,易於使用和部署。曾有人應用於電信網路資源分析系統中。

2.2 報表工具

優秀的報表工具通常具有以下特性:

  1. 支援多種資料來源;
  2. 直觀的視覺化設計器,簡單易用的報表定製功能;
  3. 方便的資料訪問和格式化,豐富的資料呈現方式;
  4. 符合資料呈現的通用標準,能和應用程式很好地進行結合;
  5. 易於擴充套件和部署;

目前較為知名的開源報表工具有:

  1. JasperReports,一個優秀的Java報表工具,始於2001,現在JasperSoft公司持續開發和支援該工具。該工具類似於商業軟體Crystal Report,支援PDF、HTML、XLS、CSV和XML檔案輸出格式,現在是Java開發者最常用的報表工具;
  2. OpenReports,提供基於web的靈活報表解決方案,通過瀏覽器自動生成動態PDF,XLS,HTMLCSV 和Chart報表,它是用Java開發的,使用JasperReports 作為報表引擎,利用到的開源技術有Hibernate,Veloctiy,Webwork;
  3. JFreeReport,現在是Pentaho的一部分,它是一個優秀的用來生成報表的Java類庫。它為Java應用程式提供一個靈活的列印 功能並支援輸出到印表機和PDF, Excel, HTML和XHTML, PlainText, XML和CSV檔案中;
  4. Eclipse BIRT,是Eclipse下面的一個企業智慧和報表 工具,能為J2EE的WEB應用程式建立漂亮醒目的PDF或者HTML格式的報表,它提供了核心的報表功能。

2.3 OLAP工具

聯機分析處理工具。目前開源的OLAP工具也分為MOLAP(多維型)、ROLAP(關係型)和HOLAP(混合型),優秀的OLAP工具通常有以下特性:

  1. 良好的執行效能,能快速地進行分析處理工作;
  2. 良好的適用性和可伸縮性;
  3. 開放式介面和豐富的API;

目前較為知名的開源OLAP工具有:

  1. Mondrian,是Pentaho的一部分,為一個用Java開發的OLAP伺服器,實現了MDX語言、XML解析和JOLAP規範,可以不寫SQL就能分析儲存於SQL 資料庫的龐大資料集,可以封裝JDBC資料來源並把資料以多維的方式展現出來;
  2. JPivot,是一個JSP 自定製的標籤庫,可以繪製一個OLAP表格和圖表。使用者可以執行 典型的OLAP導航,如下鑽,切片和方塊。它使用Mondrian 作為其OLAP伺服器。它使用WCF (Web Component Framework) ,基於XML/XSLT來渲染Web UI元件。JPivot在元資料快取方面的過於簡化的整體性初始化裝載的做法將限制它只能處理很小的立方體(Cube)。

2.4 資料庫

  開源的資料庫也有很多,大多數為關係型資料庫,少數為應用於資料倉庫環境做了專門的優化工作。Bizgres以PostgreSQL為基礎進行了資料倉庫環境下的優化,提高了分析查詢效能。

3 開源BI套件

下面列出相對成熟和完整,並且有借鑑意義的開源BI套件。

openI

Openi是一個Java開發的Web應用,能對OLAP伺服器、關係資料庫和資料探勘伺服器進行分析和報表展示,非常易於使用和部署,介面美觀友好,後續還將支援資料探勘和ETL等。Openi主要包括:

  1. OLAP展示:JPivot
  2. 報表工具:JFreeChart
  3. 分析資料來源聯結器

Openi架構:

RDL是Report Define Language
openI具有一個BI應有的大部分特性了,
report :  jasperreport ,JFreeChart
olap :   mondrian +  JPivot
data mining:   weka
它的各層銜接的非常的緊,好像用了eigenbase做資料管理,不是很清楚這部分,openI在做資料探勘的時候它沒有排程器,它的Portlet Interface 主要是指在用JPivot的時候JPivot可以到處使用openI沒有自己的開發專屬工具,入門門檻也相對較低。

JasperSoft

Jaspersoft商務智慧套件是建立在模組的基礎上的,因此很容易建立,以此證明其遞增價值。Jaspersoft主要包括:

  1. JasperServer:為商業使用者的互動,特定和預設查詢與報告伺服器
  2. JasperAnalysis:為商業使用者的互動提供OLAP資料分析
  3. JasperETL:開發人員和資料庫管理員的高效能的圖形資料整合
  4. JasperReports:開發人員所用的Java報表函式庫

JasperSoft最重要的就是它的報表,但是它支援輸出的格式很多,管理的方式也很多,也用了eigenbase做資料管理。

有比較完善的許可權控制,用的acegi,支援多種資料來源,只要有JDBC驅動。它的產品已經形成了一個產品線,最著名當然還是它的JasperReport。

你可以看到它為了更好的管理各種報表和資料,有自己專屬的展現平臺JasperServer,這個平臺是 06/26/2006才建立的,完全是JasperSoft為了實現BI而邁出的重要一步。jasper沒有資料探勘。

有任務排程器,用了quartz;
有自己專屬的ETL: JasperETL;
它有自己的OLAP SERVER : jasperAnalysis;
展示層用到了AJAX和applet, 也有DashBoard;
查詢語句支援SQL, Hibernate (HQL), XPath (XML), EJBQL, MDX(多維查詢語言,OLAP專用,SQLSERVER用的是XMLA)。

SpagoBI

SpagoBI 集成了Mondrain和JProvit,能夠通過OpenLaszlo產生實時報表。SpagoBI使用java開發,不依賴於具體的作業系統,有很強的擴充套件能力。它主要包括:

  1. 報表工具:JasperReports /Eclipse BIRT/ iReport
  2. OLAP Server:Mondrian
  3. OLAP展示:JPivot
  4. 資料探勘元件:Weka
  5. Map引擎:Geo
  6. ETL:BIE
  7. 搜尋引擎:Lucene
  8. Dashboard:OpenLaszlo
  9. Portal Server:JBoss/ Tomcat/ JOnAS

根據其Roadmap可以看出,SpagoBI將融入更多的BI功能,甚至BI之外的功能。

SpagoBI架構:

spagoBI平臺功能很強大,也很複雜。
它的各個元件之間模組化很好,Plugin載入,來看一下它的各個元件:
report : BirtReportDriver ,  BirtReportEngine , JasperReportDriver ,JasperReportEngine;
GEO :  GeoDriver , GeoEngine(用地圖顯示資料和查詢的);
OLAP : JPivotDriver , JPivotEngine;
QBE  :  QbeDriver, QbeEngine ; 
Data Mining : WekaDriver  ,  WekaEngine;
Security :  ExoPortalSecurityProvider;
Booklet (小冊子) : BookletsComponent : it is a component for booklets generation.主要包括檔案上傳,工作流,OpenOffice支援;
它還有文件管理,用的是apache的JackRabbit,有搜尋功能,用的lucene。是做cms,portlet,workflow出身的,技術很強。
spagoBI的使用的工具也比較多:
Report :  Bird  ,   JasperReport;
ETL :   Octupus  和  talend;
OLAP :  Mondrian  和  JPivot;
Data Mining   : Weka;
Portal   : eXoPortal;

它的展現層也使用了AJAX特性,另外它在DashBoard也使用了openlaszlo,(一個用Java code 生成Flash的框架,主頁是http://www.openlaszlo.org/。新版的4.0好像也要支援生成DHTML) 所以spagoBI的DashBoard介面很友好。

spagoBI的ETL是非常之牛的。你可以看到它下面的資料處理層是單獨分出來的。

Pentaho

Pentaho是一個以工作流為核心的、強調面向解決方案而非工具元件的BI套件,整合了多個開源專案,目標是和商業BI相抗衡。它包括:

  1. 工作流引擎:Shark and JaWE
  2. 資料庫:Firebird RDBMS
  3. 整合管理和開發環境:Eclipse
  4. 報表工具:Eclipse BIRT
  5. ETL工具:Enhydra/Kettle
  6. OLAP Server:Mondrian
  7. OLAP展示:JPivot
  8. 資料探勘元件:Weka
  9.  應用伺服器和Portal伺服器:JBoss
  10. 單點登陸服務及LDap認證:JOSSO
  11. 自定義指令碼支援:Mozilla Rhino Javascript指令碼處理器

由上可見Pentaho是一個很完善的BI解決方案。Pentaho偏向於與業務流程相結合的BI解決方案,側重於大中型企業應用。

Pentaho架構:

pentaho的體系結構跟spagoBI非常相像,不過pentaho喜歡把自己的東西稱作solution,以下引用自pentaho的whitepaper:

pentaho BI 平臺不同於傳統的BI產品。它是一個以流程為中心的,面向解決方案的(Solution)的框架,具有商業智慧(BI)元件,使得公司可以開發商業智慧問題的完整解決方案pentaho一樣把資料處理層看的很重要,多種資料顯示方式,甚至有RSS輸出。

pentaho是有各種開源元件組成的。

ETL :  Kettle  (介面上顯示的是pentaho Data Integration ,previously Kettle)
Report : Pentaho Report (它也支援Birt 和  JasperReport 的整合 ,還有專門的文件)
OLAP  : Mondrian 和  JPivot  (Mondrian已經加入了pentaho)
Platform : Pentaho Planform
Data Mining: Weka  (Weka也加入了pentaho)

官方站點

相關推薦

BI 開源工具介紹-SpagoBI,openI,JasperSoft,Pentaho

1 BI系統的簡述 從技術角度來說 BI 包含了 ETL、DW、OLAP、DM等多環節。簡單的說就是把交易系統已經發生過的資料,通過ETL工具抽取到主題明確的資料倉庫中,OLAP後生成Cube或報表,透過Portal展現給使用者,使用者 利用這些經過分類、聚集、描述和視

開源工具介紹之Flume

是什麼? 一個高可用的,高可靠的,分散式的海量日誌採集、聚合和傳輸系統。 功能 收集資料 對資料簡單處理,並寫到資料接收方的能力 介紹一下flume的主要元件: Flume的執行核心是Agent。(

微軟人工智慧開源工具介紹

本文介紹了微軟在人工智慧領域的領先成果、產品線,開源人工智慧框架和工具。並結合作者的自身經歷給出了評價。 本文中的圖片來自學堂線上慕課:微軟人工智慧-深度學習框架和工具 作者:張子豪(同濟大學在讀研究生) 微信公眾號:人工智慧小技巧 B站視訊:用微軟Custo

內部類簡單介紹(inner class)

1.靜態內部類(static inner class): 只能訪問外部類的靜態成員變數和靜態方法,生成靜態內部類的方式為:StaticInner.Inner inner=new StaticInne

Java執行緒池介紹

Java四種執行緒池 java.util.concurrent.Executors工廠類可以建立四種類型的執行緒池,通過Executors.newXXX方法即可建立。 public ThreadPoolExecutor(int corePoolSize,

主流複製技術介紹,複製原理,優缺點分析

談容災,談災備,我們總是不可避免的要提到複製技術。因為複製技術具有備份所不具備的切換優勢(詳見備份和複製的區別),能夠得到更好的恢復點目標(PRO)和恢復時間目標(RTO),所以成為較高層次容災方案設計中非常重要的一部分。 複製技術分類 按照複製執行位置,分為基於主機

Android補間動畫介紹及實現

一.Android的animation由四種類型組成:alpha、scale、translate、rotate alpha 漸變透明度動畫效果 scale 漸變尺寸伸縮動畫效果 translate 畫面轉換位置移

開源工具介紹(大資料關鍵技術)

        在介紹大資料關鍵技術之前,先給出一張Hadoop大資料應用生態中最主要的元件圖,該圖描述了這些元件的地位,以及它們之間的相互關係。圖1.Hadoop大資料應用生態元件及其關係HDFS(Hadoop分散式檔案系統)    HDFS是Hadoop體系中資料儲存管理

推薦系統原理介紹(基於內容過濾/協同過濾/關聯規則/序列模式)

      在推薦系統中常用的技術可大致分為四類:基於內容的過濾、協同過濾、基於規則的方法和混合方法。 一、基於內容過濾         基於內容過濾推薦系統思路如下:       (1)通過在抓取每個商品的一系列特徵來構建商品檔案;       (2)通過使用者購買的商品特徵來構建基於內容的使用者檔案

Vue 封裝axios(請求)及相關介紹(十三)

# Vue 封裝axios(四種請求)及相關介紹 #### 首先axios是基於promise的http庫 promise是什麼? 1、主要用於非同步計算 2、可以將非同步操作佇列化,按照期望的順序執行,返回符合預期的結果 3、可以在物件之間傳遞和操作promise,幫助我們處理佇列 ## 一.首先安裝a

介紹linux上兩rootkits檢測工具

介紹linux上兩種rootkits檢測工具 Rootkit Hunter 中文名叫”Rootkit獵手”, 可以發現大約58個已知的rootkits和一些嗅探器和後門程序. 它通過執行一系列的腳本來確認你的機器是否已經感染rootkits. 比如檢查rootkits使用的基本文件, 可執行

mysql中模糊查詢的用法介紹

包含 如果 正則 搜索 name 模糊查詢 長度 use mysql 下面介紹mysql中模糊查詢的四種用法: 1,%:表示任意0個或多個字符。可匹配任意類型和長度的字符,有些情況下若是中文,請使用兩個百分號(%%)表示。 比如 SELECT * FROM [user] W

MySQL中常用存儲引擎的介紹

產生 存在 一個 訪問 內存 結構 高效 ins 刪除 MySQL常用的四種引擎的介紹 (1):MyISAM存儲引擎: 不支持事務、也不支持外鍵,優勢是訪問速度快,對事務完整性沒有 要求或者以select,insert為主的應用基本上可以用這個引擎來創建表 支持3種不同的存

DevOps開源工具的三分類整理

數據 日誌 junit 理解 -o 三種 開發 with ref 原文地址:http://www.360doc.com/content/16/0322/07/31263000_544210096.shtml 隨著開發運維一體化的DevOps運動在國內外蓬勃發展,Dev

linux的gzip、bzip2、xz三壓縮使用方法工具介紹

linux bzip2 gzip xz 壓縮打包介紹:常用壓縮文件類型:1、windows:.rar/.zip/.7z2、linux:.zip/.gz/.bz2/.xz/.tar/.gz/.tar/.bz2/.tar/.xzgzip壓縮工具:1、實驗,cd到/tmp目錄下,使用mkdi創建一個

5周第1次課 安裝軟件包的三方法 rpm包介紹 yum工具用法 yum搭建本地倉庫

rpm包介紹 yum工具用法 yum搭建本地倉庫Linux 安裝軟件的三種方式rpm 工具:此種安裝方式即通過rpm 工具對介質上的rpm 包進行安裝。yum 工具:核心依然是rpm,但不同的是它是基於網絡的源,並會自動安裝依賴組件。源碼包:源代碼包,需要相應的編譯器進行編譯,然後才能安裝。三種方式裏最難

雲計算有哪些模式?雲計算部署模型介紹

雲計算雲計算的最終目標是將計算、服務和應用作為一種公共設施提供給公眾,使人們能夠像使用水、電、煤氣和電話那樣使用計算機資源。雲計算技術都是基於3種特殊的雲計算服務模式,它們都具有流行、有效、靈活、用戶友好等特征。 因此,雲架構的基本模式是: 1、基礎設施即服務:基礎設施福分包括電腦、網絡、存儲、負載平衡設備、

KVM虛擬化的簡單網絡模型介紹及實現(一)

_for only 應該 code eth tun x86_64 信息 dock KVM中的四種簡單網絡模型,分別如下:1、隔離模型:虛擬機之間組建網絡,該模式無法與宿主機通信,無法與其他網絡通信,相當於虛擬機只是連接到一臺交換機上。2、路由模型:相當於虛擬機連接到一臺路由

KVM虛擬化的簡單網絡模型介紹及實現(二)

str drive 51cto -c water -a return dfa 模型 接上篇,介紹NAT網絡模型和橋接模型。 三、NAT模型 NAT模型其實就是SNAT的實現,路由中虛擬機能將報文發送給外部主機,但是外部主機因找不到通往虛擬機的路由因而無法回應請求。但是外部

RabbitMQ交換機型別介紹

RabbitMQ  原文地址: https://baijiahao.baidu.com/s?id=1577456875919174629&wfr=spider&for=pc 最新版本的RabbitMQ有四種交換機型別,分別是Direct exc