大資料 Hbase和Hive整合以及效能優化

2021-10-09 19:06:06 字數 4202 閱讀 6326

命名空間(namespace)

安全許可權(security with grant)

安全許可權(revoke&user_permission)

region split

hbase compaction-lsm

hbase compaction-實現

hbase compaction-control

將hbase作為hive資料來源

將hive etl資料存入hbase

構建低延遲時的資料倉儲

通過兩者本身對外的api介面互相通訊完成

hbasestoragehandler

-- 在hive中建立外部表

create external table customer

(name string, order_numb string,order_date string,addr_city string,addr_state string)

stored by 'org.apache.hadoop.hive.hbase.hbasestoragehandler'

with

serdeproperties(=

":key,order:numb,order:date,addr:city,addr:state"

)tblproperties

("hbase.table.name"

="customer");

-- hive中只支援select和insert,不支援hbase中的版本控制

select *

from customer;

select count(*

)from customer where order_numb is not null

;insert into table customer values

('james'

,'1121'

,'2018-05-31'

,'toronto'

,'on');

-- 在hbase shell中查詢插入結果

namespace:一種易於表管理的機制

#建立namespace 

create_namespace 'my_ns』

#create my_table in my_ns namespace

create 'my_ns:my_table'

,'fam'

#刪除namespace

drop_namespace 'my_ns』

#更改namespace

alter_namespace 'my_ns'

,

使用grant命令進行授權管理我們可以為使用者賦予rwxca許可權中的乙個或多個

r

- read privilege 讀許可權

w- write privilege 寫許可權

c- create privilege 建立許可權

a- admin privilege 管理許可權

x- execute 執行許可權

示例:grant 'will'

,'rwca'

,'my_hbase_table'

使用revoke命令刪除所有許可權

語法:revoke 

示例:revoke 'will'

,'my_hbase_table'使用user_permission檢視使用者對錶所擁有的許可權

語法:user_permission 'tablename'

示例:user_permission 'my_hbase_table'

當乙個region變大,會被split成兩個regionregion split策略可以自定義split策略log-structured merge(lsm)

傳統資料庫

lsm系統

特點直接更新現有資料隨機讀寫

將值寫到log末尾並合併通過順序讀寫提高效能

示例hello my name is bruce(heather)

hello my name is bruce

hello my name is heather

compaction分為minor和major兩種

每次觸發compact檢查時,系統自動決定執行哪一種

compaction總結

flush->minor compaction->major compaction

相關控制

和hbase對映 hbase整合hive

hive提供了與hbase的整合,是的能夠在hbase表上使用hive sql語句進行查詢 插入操作以及進行join和union等複雜查詢 同時也可以將hive表中的資料對映到hbase中。當我們在使用hive時候,在資料量多的時候就會發現非常的慢,乙個簡單的sql都要半天,其實我們追尋他的原因很簡...

Hbase和Hive的整合

四 檢驗是否成功 一 為什麼hive要和hbase整合,意義何在?在hbase中不支援複雜查詢,比如join group by count sum hive的資料是無法更新的,除非去更改hdfs的原始檔案,更改原始檔案需要生成乙個新的檔案,十分費事。同時hive是進行海量資料統計分析,無法實時查詢。...

大資料 Hive與HBase

hive hive是基於hadoop的乙個資料倉儲工具,可以將結構化的資料檔案對映為一張資料庫表,並提供簡單的sql查詢功能。hbase hbase是hadoop的資料庫,乙個分布式 可擴充套件 大資料的儲存。hbase和hive在大資料架構中處在不同位置,hbase主要解決實時資料查詢問題,hiv...