Hbase的细节

(1)建表

①create 'NS:table','列族'
②create 'NS:table',{NAME=>列族名,VERSIONS=>n},{NAME=>列族,VERSIONS=>n}

(2)插入数据

put 'NS:table','列族:列','值';
一次插入一列

(3)Hash分区

	create 'MOMO_CHAT:MSG', {NAME => "C1", COMPRESSION => "GZ"}, { 		
	NUMREGIONS => 6, SPLITALGO => 'HexStringSplit'}

(4)更改数据

upsert into "itcast"."t1"("ROW","name") VALUES('01','lsd');	//单引号和双引号	

(5)如果Hbase中已存在自动关联

create 'itcast:t1',{NAME=>'c1',VERSIONS=>3}
put 'itcast:t1','01','c1:name','wxy'
create table if not exists "itcast"."t1"(
    "ROW" varchar primary key,
    "c1"."name" varchar
) column_encoded_bytes=0;

(6)模拟当Hbase有表,Phoenix建表模拟关联Hbase表

hbase:	create 'ITCAST:T2',{NAME=>'C1',VERSIONS=>6}
			put 'ITCAST:T2','wxy','C1:name','lsd'

phoenix:	create table if not exists itcast.t2(
				"ROW" varchar primary key,
	  			  "C1"."name" varchar
				) column_encoded_bytes=0 ;
注意:名字空间 表名 字段名 列族 必须和Hbase表高度一致才能自动关联

(7)当Hbase没有表的时候

create table if not exists ORDER_DTL(
    ID varchar primary key,
    C1.STATUS varchar,
    C1.PAY_MONEY float,
    C1.PAYWAY integer,
    C1.USER_ID varchar,
    C1.OPERATION_DATE varchar,
    C1.CATEGORY varchar
);
注意:Phoenix和Hbase会同时创建这张表

(8)视图表

create 'ITCAST:T3',{NAME=>'C1',VERSIONS=>6}
put 'ITCAST:T3','wxy','c1:name','lsd'

create view if not exists "ITCAST"."T3"(
 "ROW" varchar primary key,
  "C1"."name" varchar
);
当Hbase的T3表被删除时  Phoenix的view表仍然存在 但是一查询就报错IO异常

(9)为视图表建立全局索引

create index MSG_INDEX on "MOMO_CHAT"."MSG"(C1."sender_ip");

在这里插入图片描述

(10)覆盖索引

create index GBL_IDX_ORDER_DTL on ORDER_DTL(C1."user_id") INCLUDE("C1".Name);

在这里插入图片描述

(11)按Hash来分区

create 'MOMO_CHAT:MSG', {NAME => "C1", COMPRESSION => "GZ"}, { NUMREGIONS => 6, 		
SPLITALGO => 'HexStringSplit'}

おすすめ

転載: blog.csdn.net/qq_45769990/article/details/115188107