hbase的基本命令 --- 使用hive连接hbase --- 在hive中建hbase表------ 完成对hbase的操作

命名空间:namespace-> database

list_namespace 				#查看所有命名空间列表
create_namespace 'NS_NAME' 	#创建命名空间
drop_namespace 'NS_NAME'	#删除命名空间

数据表:namespace:table

list_namespace_tables 'NS_NAME'		#查看指定命名空间下的所有数据表
list								#查看当前hbase中的所有表
create 'NS_NAME:TBL_NAME','CF_NAME01',...,'CF_NAMEN'	#创建表
create 'NS_NAME:TBL_NAME',
{
	NAME => 'base', 
	BLOOMFILTER => 'ROW', 
	IN_MEMORY => 'false', 
	VERSIONS => '1', 
	KEEP_DELETED_CELLS => 'FALSE', 
	DATA_BLOCK_ENCODING => 'NONE', 
	COMPRESSION => 'NONE', 
	TTL => 'FOREVER', 
	MIN_VERSIONS => '0', 
	BLOCKCACHE => 'true', 
	BLOCKSIZE => '65536', 
	REPLICATION_SCOPE => '0'
},
{
	...
},
...

desc 'NS_NAME:TBL_NAME'				#查看表结构
is_disabled 'NS_NAME:TBL_NAME'		#查看表是否已禁用
disable 'NS_NAME:TBL_NAME'			#禁用表
drop 'NS_NAME:TBL_NAME'				#删除数据表(被禁用的表才可以删除)
is_enabled 'NS_NAME:TBL_NAME'		#查看表是否已启用
enable 'NS_NAME:TBL_NAME'			#启用表

列簇:namespace:table:column_family

put 'NS_NAME:TBL_NAME','ROW_KEY','CF_NAME:COL_NAME','value'
get 'NS_NAME:TBL_NAME','ROW_KEY','CF_NAME01[:COL_NAME]',...
scan 'NS_NAME:TBL_NAME',{STARTROW=>'ROW_KEY'}
scan 'NS_NAME:TBL_NAME',{ENDROW=>'ROW_KEY'}
scan 'test:employee',{COLUMNS=>['CF_NAME:COL_NAME',...]}
scan 'test:employee',{FILTER=>"ValueFilter(=,'substring:')"}	#部分匹配
scan 'test:employee',{FILTER=>"ValueFilter(=,'binary:')"}		#完全匹配
scan 'test:employee',{FILTER=>"ColumnPrefixFilter('20') AND ValueFilter(=,'substring:2')"}
-------------------------------------------------------------------------------------------
ROW                            COLUMN+CELL                                                                          
 ZB_ADM_21062401               column=kpi:2019, timestamp=2021-06-24T09:40:28.910, value=1228                       
 ZB_ADM_21062402               column=kpi:2019, timestamp=2021-06-24T09:56:43.918, value=128                        
 ZB_ADM_21062403               column=kpi:2020, timestamp=2021-06-24T09:59:25.940, value=224   
--------------------------------------------------------------------------------------------
#匹配20开头,且value包含2的

列:namespace:table:column_family:column

单元:namespace:table:column_family:column:cell(value,version,timestamp)

---------------------------- hive + hbase ----------------------------
cd /opt/software/hbase235/lib
cp /opt/software/hive312/lib/hive-hbase-handler-3.1.2.jar ./

cd /opt/software/hive312/lib/
cp /opt/software/hbase235/lib/hbase-client-2.3.5.jar ./
cp /opt/software/hbase235/lib/hbase-hadoop2-compat-2.3.5.jar ./
cp /opt/software/hbase235/lib/hbase-hadoop-compat-2.3.5.jar ./
cp /opt/software/hbase235/lib/hbase-it-2.3.5.jar ./
cp /opt/software/hbase235/lib/hbase-server-2.3.5.jar ./


-- 将hbase上的表映射到hive中
create external table hb_test_employee
(
	empId string,
	name string,
	age int,
	phone string,
	sale2018 int,
	sale2019 int,
	sale2020 int,
	pos2018 string,
	pos2019 string,
	pos2020 string
)
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
with serdeproperties("hbase.columns.mapping"=
":key,base:name,base:age,base:phone,kpi:2018,kpi:2019,kpi:2020,pos:2018,pos:2019,pos:2020")
tblproperties("hbase.table.name"="test:employee")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值