Hive学习路线图
Hadoop家族系列文章,主要介紹Hadoop家族產品,常用的項目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的項目包括,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, Bigtop, Crunch, Hue等。
從2011年開始,中國進入大數據風起云涌的時代,以Hadoop為代表的家族軟件,占據了大數據處理的廣闊地盤。開源界及廠商,所有數據軟件,無一不向Hadoop靠攏。Hadoop也從小眾的高富帥領域,變成了大數據開發的標準。在Hadoop原有技術基礎之上,出現了Hadoop家族產品,通過“大數據”概念不斷創新,推出科技進步。
作為IT界的開發人員,我們也要跟上節奏,抓住機遇,跟著Hadoop一起雄起!
關于作者:
- 張丹(Conan), 程序員Java,R,PHP,Javascript
- weibo:@Conan_Z
- blog:?http://blog.fens.me
- email: bsspirit@gmail.com
轉載請注明出處:
http://blog.fens.me/hadoop-hive-roadmap/
前言
Hive是Hadoop家族中一款數據倉庫產品,Hive最大的特點就是提供了類SQL的語法,封裝了底層的MapReduce過程,讓有SQL基礎的業務人員,也可以直接利用Hadoop進行大數據的操作。就是這一個點,解決了原數據分析人員對于大數據分析的瓶頸。
讓我們把Hive的環境構建起來,幫助非開發人員也能更好地了解大數據。
目錄
1. Hive介紹
Hive起源于Facebook,它使得針對Hadoop進行SQL查詢成為可能,從而非程序員也可以方便地使用。Hive是基于Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張數據庫表,并提供完整的SQL查詢功能,可以將SQL語句轉換為MapReduce任務運行。
Hive是建立在 Hadoop 上的數據倉庫基礎構架。它提供了一系列的工具,可以用來進行數據提取轉化加載(ETL),這是一種可以存儲、查詢和分析存儲在 Hadoop 中的大規模數據的機制。Hive 定義了簡單的類 SQL 查詢語言,稱為 HQL,它允許熟悉 SQL 的用戶查詢數據。同時,這個語言也允許熟悉 MapReduce 開發者的開發自定義的 mapper 和 reducer 來處理內建的 mapper 和 reducer 無法完成的復雜的分析工作。
詳細地Hive的安裝和使用介紹,請參考文章:Hive安裝及使用攻略
2. Hive學習路線圖
Hive的知識點,我已經列在圖中,希望幫助其他人更好的了解Hive。
接下來,是我的使用經歷,誰都沒有捷徑。把心踏實下來,就不那么難了。
3. 我的使用經歷
我使用Hive有兩個考慮:
- 1. 幫助無開發經驗的數據分析人員,有能力處理大數據
- 2. 構建標準化的MapReduce開發過程
1). 幫助無開發經驗的數據分析人員,有能力處理大數據
完全符合與Hive的設計理念,一直在強調,無需多言。
2). 構建標準化的MapReduce開發過程
這個方面是我們需要努力的方向。
首先,Hive已經用類SQL的語法封裝了MapReduce過程,這個封裝過程就是MapReduce的標準化的過程。
我們在做業務或者工具時,會針對場景用邏輯封裝,這是第二層封裝是在Hive之上的封裝。在第二層封裝時,我們要盡可能多的屏蔽Hive的細節,讓接口單一化,低少靈活性,再次精簡HQL的語法結構。只滿足我們的系統要求,專用的接口。
在使用二次封裝的接口時,我們已經可以不用知道Hive是什么, 更不用知道Hadoop是什么。我們只需要知道,SQL查詢(SQL92標準),怎么寫效率高,怎么寫可以完成業務需要就可以了。
當我們完成了Hive的二次封裝后,我們可以構建標準化的MapReduce開發過程。
通過上圖的思路,我們可以統一企業內部各種應用對于Hive的依賴,并且當人員素質升高后,有可以剝離Hive,用更優秀的底層解決方案來替換,如果封裝的接口的不變,甚至替換Hive時業務使用都不知道,我們已經替換了Hive。
這個過程是需要經歷的,也是有意義的。當我在考慮構建Hadoop分析工具時,以Hive作為Hadoop訪問接口是最有效的。
3). 有關Hive的運維:
因為Hive是基于Hadoop構建的,簡單地說就是一套Hadoop的訪問接口,Hive本身并沒有太多的東西,所以運維上面我們注意下面幾個問題就行了。
- 1. 使用單獨的數據庫存儲元數據
- 2. 定義合理的表分區和鍵
- 3. 設置合理的bucket數據量
- 4. 進行表壓縮
- 5. 定義外部表使用規范
- 6. 合理的控制Mapper, Reducer數量
4. Hive的使用案例
已經整理成文章的案例
- Hive安裝及使用攻略
- Hive導入10G數據的測試
- R利劍NoSQL系列文章 之 Hive
- 用RHive從歷史數據中提取逆回購信息
相關文章:
Hadoop家族產品學習路線圖
轉載請注明出處:
http://blog.fens.me/hadoop-hive-roadmap/
總結
- 上一篇: Hadoop家族学习路线图
- 下一篇: Mahout学习路线图