Hbase进阶

通过hive操作hbase的注意事项:

(1)启动yarn服务:

yarn-daemon.sh start resourcemanager

yarn-daemon.sh start nodemanager

(2)在hive中建表时附加上:

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

with

serdeproperties ("hbase.columns.mapping"=":key,列族:列名,...")

tblproperties("hbase.table.name" = "表名");

=====例1=====

--在hbase中创建表

create 'customer','order','addr'

--在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 ("hbase.columns.mapping"=":key,order:numb,order:date,addr:city,addr:state")

tblproperties("hbase.table.name" = "customer")

;

--在hive中执行以下更新查询操作

insert into table customer values ('James','1121','2018-05-31','toronto','ON');

select * from customer;

--在hbase中执行如下语句

scan 'customer'

put 'customer','Smith','order:numb','1122'

put 'customer','Smith','order:date','2019-09-12'

put 'customer','Smith','addr:city','beijing'

put 'customer','Smith','addr:state','HD'

--在hive中执行以下查询操作

select * from customer;

=====例2=====

1.在hbase中创建表

--不要create 'hive_hbase_emp_table','info'

2.实现Hive中创建表hive_hbase_emp_table关联HBase

CREATE TABLE hive_hbase_emp_table(

empno int,

ename string,

job string,

mgr int,

hiredate string,

sal double,

comm double,

deptno int)

STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'

WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,info:ename,info:job,info:mgr,info:hiredate,info:sal,info:comm,info:deptno")

TBLPROPERTIES ("hbase.table.name" = "hive_hbase_emp_table");

3.在Hive中插入数据,通过HBase查询

--hive中执行如下语句

insert into table hive_hbase_emp_table values(1,'Eric','Developer',5,'2019-12-18',2800.0,312.0,10);

--hbase shell中执行如下语句

scan 'hive_hbase_emp_table'

4.在HBase中插入数据,通过Hive查询

--在hbase shell中执行如下语句

put 'hive_hbase_emp_table','2','info:ename','zhangsan'

--在hive中执行如下语句

select * from hive_hbase_emp_table;

指定拆分算法,在linux中执行:

hbase org.apache.hadoop.hbase.util.RegionSplitter test_split1 HexStringSplit -c 10 -f mycf

#指定拆分点

create 'test_split2','mycf2',SPLITS=>['aaa','bbb','ccc','ddd','eee','fff']

#指定拆分文件

先在linux中创建以下内容的文件:

aaa

bbb

ccc

ddd

eee

fff

再在hbase中创建表

create 'test_split3','baseinfo',SPLITS_FILE => '/root/data/splits.txt'

Region 冷合并【必须先停止hbase服务,在linux中执行】

hbase org.apache.hadoop.hbase.util.Merge <table-name> <region-1> <region-2>

【注】<region-1><region-2>包括"表名,分界点,时间戳.regionId."

Region 热合并【无需停止hbase服务,在hbase中执行】

merge 'region-1','region-2'

【注】region-1和region-2是指regionId

HFile minor合并

hbase.hregion.memstore.flush.size【134217728B=128M】

hbase.regionserver.optionalcacheflushinterval【3600000ms=1h】

hbase.hstore.compactionThreshold【3】

hbase.hstore.compaction.max【10】

HFile major合并

hbase.hregion.majorcompaction【604800000ms】

相关推荐
李广坤18 小时前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
武子康1 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
爱可生开源社区2 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1772 天前
《从零搭建NestJS项目》
数据库·typescript
武子康2 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP3 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
够快云库3 天前
能源行业非结构化数据治理实战:从数据沼泽到智能资产
大数据·人工智能·机器学习·企业文件安全
加号33 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏3 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐3 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端