大資料是目前最熱門的話題,雖然不少廠商宣稱推出了大資料的產品,但在實際應用中,Hadoop已經成為大資料處理的事實標準,Facebook、百度、阿裡等互聯網企業無一不採用Hadoop。 即便是商務資料庫公司,如IBM、Oracle、SAP、Teradata、甚至Microsoft等都採用了Hadoop。 國產資料庫廠商的人大金倉在大資料方解決案中也整合了Hadoop產品。
Hadoop之所以這麼受歡迎,源于其良好的系統架構,使其能夠以很低的成本、高效率、可靠的存儲和處理千百萬位元組(PB)資料。 Hive是構建在Hadoop的資料倉儲平臺,用於存儲和處理海量結構化資料。 它把海量資料存儲于Hadoop檔案系統,而不是資料庫,但提供了一套類資料庫的資料存儲和處理機制,並採用 HQL (類 SQL )語言對這些資料進行自動化管理和處理。 我們可以把 Hive中海量結構化資料看成一個個的表,而實際上這些資料是分散式存儲在 HDFS 中的。 Hive 經過對語句進行解析和轉換,最終生成一系列基於Hadoop的map/reduce 任務,通過執行這些任務完成資料處理。
傳統上商業智慧BI平臺或報表平臺是基於關係資料庫搭建的,即便資料倉儲使用了Hadoop,也是將Hadoop作為計算工具,將計算結果寫入 Oracle、DB2等資料庫中,供BI軟體查詢。 事實上,隨著Hadoop/Hive產業鏈的成熟,BI工具可以通過JDBC等方式,直接連接Hive 查詢資料。 這樣,除了專業的IT工程師,眾多普通使用者也能體驗到Hadoop的魅力。
Smartbi作為國內領先的BI平臺,能夠很好的支援Hadoop/Hive產品。 Smartbi結合Hadoop/Hive在電信行業中已經取得了成功的應用案例。
下面介紹如何使用Smartbi連接Hadoop/Hive查詢資料。
1.首先安裝好系統內容,示例為Ubuntu 12.04/JDK7/Hadoop-1.2.1/Hive-0.11.0,並裝載資料。 然後啟動Hive服務。
2.將下列Hive JDBC驅動等檔拷貝到Smartbi的Lib目錄下(.\smartbi\WEB-INF\lib)。
3.啟動Smartbi,在系統管理中建立Hadopp的JDBC連接,驅動程式類為:org.apache.hadoop.hive.jdbc.HiveDriver,連接串為jdbc:hive://ip:port/ default。 測試連接通過後保存。
4.在Smartbi資料集定義功能中編寫Hive SQL語句。
5.點擊「預覽」按鈕,查看查詢結果。
6.在Smartbi中展現Hive的報表。