命名空间: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")