hive與hbase同在hadoop生態體系內。hive可以看作hadoop的sql程式設計介面;hbase則是真正意義上的儲存海量資料的分布列式資料庫。生產環境中,hbase用作線上實時資料庫,hive用在離線資料處理、資料倉儲領域。
hbase中查詢資料,不能使用大眾熟知的sql,也不支援複雜的查詢。如果能使用hive查詢及操作hbase儲存的資料,實現二者的互通互導,相互操作,那麼其中的便利性不言而喻。
首先不了解hbase的親可以看一下我之前寫過的一篇博文:
《白話解說:sql與nosql》
一、那麼看完之後我們先來簡單了解一下hbase如何存放資料及對應語法:
hbase 建一張學生表,row key是學生編號,兩個column family分別為基本資訊(info)、位址(address)。
1.行鍵:決定一行資料。
2.列簇:每個列簇可以有多個列成員(course:math,course:english),以類似於k-v的形式儲存資料。
3.建表語句:create 'table name'
Hive 五 hive與hbase整合
配置 hive 與 hbase 整合的目的是利用 hql 語法實現對 hbase 資料庫的增刪改查操作,基本原理就是利用兩者本身對外的api介面互相進行通訊,兩者通訊主要是依靠hive hbase handler.jar工具類。但請注意 使用hive操作hbase中的表,只是提供了便捷性,前面章節已...
Hive篇 Hive與Hbase整合
一 前述 hive會經常和hbase結合使用,把hbase作為hive的儲存路徑,所以hive整合hbase尤其重要。二 具體步驟 hive和hbase同步 1 把hive hbase handler 1.2.1.jar cp到hbase lib 下 同時把hbase中的所有的jar,cp到hive...
Hive與HBase的關係
hive是為了簡化編寫mapreduce程式而生的,使用mapreduce做過資料分析的人都知道,很多分析程式除業務邏輯不同外,程式流程基本一樣。在這種情況下,就需要hive這樣的使用者程式設計介面。hive本身不儲存和計算資料,它完全依賴於hdfs和mapreduce,hive中的表純邏輯,就是些...