Hadoop技术在商业智能BI中的应用
Hadoop是個很流行的分布式計算解決方案,是Apache的一個開源項目名稱,核心部分包括HDFS及MapReduce。其中,HDFS是分布式文件系統,MapReduce是分布式計算引擎。時至今日,Hadoop在技術上已經得到驗證、認可甚至到了成熟期,同時也衍生出了一個龐大的生態圈,比較知名的包括HBase、Hive、Spark等。HBase是基于HDFS的分布式列式數據庫,HIVE是一個基于HBase數據倉庫系統。Impala為存儲在HDFS和HBase中的數據提供了實時SQL查詢功能,基于HIVE服務,并可共享HIVE的元數據。Spark是一個類似MapReduce的并行計算框架,也提供了類似的HIVE的Spark SQL查詢接口,Hive是基于hadoop的數據分析工具。
很多企業比如銀行流水作業很多,數據都是實時更新且數據量很大。會采用hadoop作為底層數據庫,借由中間商處理底層數據,然后通過BI系統去連接這些中間數據處理廠商的中間表,接入處理數據,尤其以星環、華為這類hadoop大數據平臺商居多,使用也較為廣泛。
這里以星環大數據平臺與帆軟大數據BI工具FineBI的結合應用來簡單介紹下。
由于星環也是處理hadoop下的hive數據庫,其本質都是差不多的,可以使用Hive提供的jdbc驅動,這個驅動同樣可以讓FineBI連接星環的數據庫并進行一些類關系型數據庫的sql語句查詢等操作,部分特殊sql的公式需要與星環人員確認是否可以使用。
首先將這些驅動拷貝到報表工程下面,然后重啟BI服務器。重啟后可以建立與星環數據庫的數據連接,最后通過連接進行數據查詢。
1、本地部署
下圖是FineBI內部測試用的hadoop的jar包(將以下jar包放置于webinf-lib文件夾下),親測,可連接成功,如下圖所示:
2、數據連接
數據連接如下圖所示:
測試連接成功之后,點擊確定,可直接選擇數據庫中對應的表加入業務包中,類似于Mysql這些最常見的數據庫取表方式。
3、實際分析案例
某銀行的總行層面-機構維度-四象限圖
(2)總行層面-機構維度-趨勢分析
(3)總行層面-產品維度-盈利產品
4.關于FineBI的FineIndex和FineDirect功能
hadoop是底層,hive是數據庫,上述案例采用的是FineIndex(cube連)連接,用的是hiveserver的方式進行數據連接的;數據連接成功之后,將hive數據庫中的表添加到業務包中,也就是將庫中數據拿到我們的多維數據庫(FineIndex),當然抓取的過程中也可以讀取數據庫關聯和轉義,也可以手動轉義和進行關聯,同時也可以做一些etl操作如新增公式列/行列轉換/join/union/過濾/分組統計/自循環列/新增分組列/使用部分字段等,做過處理的這些數據表用于前端分析。
也就是說數據庫-FineIndex-前端分析,這里的FineIndex相當于一個中間庫的形式,用來存儲數據表,關聯轉義索引等。這些都對后續前臺分析處理數據效率有很大的提升(因為直接sql取數,效率受數據庫本身的限制,數據量大時,一般分析工具很容易就卡死升職內存溢出導致系統無響應),這也是FineIndex方案的初衷。FineIndex存在有兩個意義,一個是提升效率,一個就是對數據進行二次整合處理。
FineBI還有一個連接方式FineDirect(數據庫直連),主要是應對如下需求:
-
分析結果的實時性
企業用戶在使用BI工具的時候,多數情況下是對大量的歷史數據進行OLAP分析,但是也有部分用戶需要展現結果的實時性。例如金融行業對于交易風險的分析,是對每一筆流水實時進行分析的,如果需要經過構建多維數據庫的過程,數據到來就會有延遲,影響分析結果的準確性。但是因為計算的過程交給了數據庫,響應速度更多的取決于數據庫的性能。
-
大數據平臺的充分利用
隨著各種分布式計算方案的不斷優化,數據的計算性能也有了快速的發展,計算能力有了顯著的提高,不少企業已經有了自己的大數據計算平臺,例如hadoop,kylin,greenplum,vertica等,這些平臺的對于大數據量的處理性能已經足以滿足使用需求,不再有建模的需求,因此FineBI直連引擎提供了對接這些數據平臺的功能。
?
歡迎關注我的公眾號“商業智能研究”,私信回復“資料包”,即可領取大數據、數據中臺、商業智能、數據倉庫等6G精華資料!
?
?
?
總結
以上是生活随笔為你收集整理的Hadoop技术在商业智能BI中的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里研究院:数据治理解决方案,附7篇数据
- 下一篇: 黑客是互联网的高危职业,选择不慎,很可能