2013-05-12 76 views
3

這可能是一個愚蠢的問題,因爲我還沒有完全理解Cognos BI的工作原理。 另外,我試着在Stack Exchange上發佈這個,徒勞(標記爲放置錯誤)。在Cognos BI環境中使用Apache Hadoop

我的問題是 - Apache Hadoop能否用於使Cognos BI工作更快? 或者Cognos正在做與Hadoop所做的相同的事情(MapReduce功能)?

我開始工作的地方是在Sybase IQ(內容存儲)的基礎上使用Cognos BI套件。 Apache Tomcat是Web服務器。有時會發生的情況是,如果數據集很大,Cognos會花費很多時間(幾乎死亡)來生成報告。

那麼Apache Hadoop可以通過適配Cognos和Sybase之間的某處來幫助Cognos更好地執行嗎?或者報告優化是這種情況下的唯一出路?

謝謝你們。

回答

5

Hadoop作爲一個平臺並不針對臨時查詢或分析報告。
Cognos是IBM的產品。它只能查詢它自己的Hadoop分佈,這就是所謂的大分析:
InfoSphere BigInsights
通過BigInsight Cognos發佈使用Hive的查詢,最終轉換爲MapReduce。

您說您正在使用Sybase IQ(這不是內容存儲庫,這是您的查詢在運行的報告數據庫)。
雖然我對Sybase IQ知之甚少,但我正在與Vertica合作,這也是列式DB。
爲了獲得良好的性能,你需要調整任何可能的:

  • COGNOS框架模型
  • Cognos報告
  • 的Sybase數據庫優化和結構。 Hadoop無疑可以通過準確的數據準確級別和預先計算您所需的任何計算來提供幫助。
2

簡而言之,Hadoop是一個處理大型數據集的分佈式平臺。它具有內置的容錯功能,可以使停機時間可能影響業務流程的組織產生吸引力。 Cognos是一個商業智能工具,允許用戶探索和報告數據。所以似乎是合乎邏輯的。

然而,Hadoop並不適合臨時查詢,因爲另一個海報已經發表了評論。有一個Hadoop項目可以承諾 - Hive。開發人員已經發布了ODBC連接器來訪問Hive數據庫(這只是Hadoop數據的數據倉庫視圖,可以使用稱爲HiveQL的類似SQL的語言來查詢)。由於Cognos可以從ODBC數據庫提取數據,因此Cognos可以通過Hive從Hadoop提取數據。

在Cognos環境中使用Hadoop的另一種方法是使用文本文件(如CSV)傳輸數據。 Hadoop可以生成一個數據文件,然後導入到Cognos中。這是我目前使用的方法。

但是,我還沒有回答使用Hadoop的「原因」。我在Hadoop上使用的兩個應用程序是庫存預測和現金流/預算。如果您試圖對數十萬個SKU進行例行預測,那麼Hadoop就是一個很棒的工具。如果您試圖對1000個預算項目進行蒙特卡羅模擬,Hadoop非常棒。只需從數據倉庫導入數據,運行Hadoop作業,並將生成的CSV文件導入Cognos。瞧!

請注意,Hadoop不是萬能的。有時候老式的時尚SQL和你選擇的編程語言同樣好或者更好。 Hadoop帶有學習曲線和資源需求。我通過下載Hortonworks沙箱瞭解到了這一點;它是在VMware,VirtualBox等中運行的預配置虛擬機。因此,您不必安裝或配置任何東西!

+0

你是什麼意思「將結果CSV文件導入Cognos」?您是否將生成的CSV文件導入Cognos Transformer skip cognos框架管理器?謝謝 – YOung 2015-12-14 15:09:47