目录
1、映射HBase表只需要下面三个信息,Phoenix建表的时候rowkey可以随意字符
1、映射HBase表只需要下面三个信息,rowkey可以随意字符
表名:T_GW
列簇名:attribute,behavior
字段名:create_time 等等。。。
咋获取以上信息呢?
describe ‘表名’ 获取列簇名
get 或者scan ‘表名’ 获取字段名
hbase(main):002:0> describe 'T_GW'
Table T_GW is ENABLED
T_GW, {TABLE_ATTRIBUTES => {coprocessor$1 => '|org.apache.phoenix.coprocessor.ScanRegionObserver|805306366|', coprocessor$2 => '|org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver|805306366|', coprocessor$3 => '|org.apache.phoenix.coprocessor.
GroupedAggregateRegionObserver|805306366|', coprocessor$4 => '|org.apache.phoenix.coprocessor.ServerCachingEndpointImpl|805306366|'}
COLUMN FAMILIES DESCRIPTION
{NAME => 'attribute', BLOOMFILTER => 'NONE', VERSIONS => '3', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'false', BLOCKSIZE => '65536', REP
LICATION_SCOPE => '0'}
{NAME => 'behavior', BLOOMFILTER => 'NONE', VERSIONS => '3', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'false', BLOCKSIZE => '65536', REPL
ICATION_SCOPE => '0'}
2 row(s) in 0.1190 seconds
hbase(main):004:0> get 'T_GW','00101002'
COLUMN CELL
attribute:create_time timestamp=1560851619842, value=2018-06-06 08:47:26
attribute:is_live timestamp=1560851619842, value=1
attribute:position_rank timestamp=1560851619842, value=0
behavior:last_90_rec timestamp=1560851823830, value={'2019-04-08 19:37:00': '1020338|1', '2019-05-15 20:54:19': '1021065|1', '2019-04-08 20:45:34': '1020480|1'}
behavior:ln_last_rec_time timestamp=1560851823352, value=2019-05-15 20:54:19
5 row(s) in 0.0100 seconds
2、Phoenix创建视图表
create view T_GW(
pk VARCHAR PRIMARY KEY
,"attribute"."create_time" VARCHAR
,"attribute"."is_live" VARCHAR
,"attribute"."position_rank" VARCHAR
,"behavior"."last_90_rec" VARCHAR
,"behavior"."ln_last_rec_time" VARCHAR)column_encoded_bytes=0;
3、Phoenix验证
sqlline version 1.2.0
0: jdbc:phoenix:> !table
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+-----------------+---------------+---------------+-----------------+------------+-------------+---------------+
| TABLE_CAT | TABLE_SCHEM | TABLE_NAME | TABLE_TYPE | REMARKS | TYPE_NAME | SELF_REFERENCING_COL_NAME | REF_GENERATION | INDEX_STATE | IMMUTABLE_ROWS | SALT_BUCKETS | MULTI_TENANT | VIEW_STATEMENT | VIEW_TYPE | INDEX_TYPE | TRANSACTIONAL |
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+-----------------+---------------+---------------+-----------------+------------+-------------+---------------+
| | SYSTEM | CATALOG | SYSTEM TABLE | | | | | | false | null | false | | | | false |
| | SYSTEM | FUNCTION | SYSTEM TABLE | | | | | | false | null | false | | | | false |
| | SYSTEM | LOG | SYSTEM TABLE | | | | | | true | 32 | false | | | | false |
| | SYSTEM | SEQUENCE | SYSTEM TABLE | | | | | | false | null | false | | | | false |
| | SYSTEM | STATS | SYSTEM TABLE | | | | | | false | null | false | | | | false |
| | | T_GW | VIEW | | | | | | false | null | false | | MAPPED | | false |
+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+-----------------+---------------+---------------+-----------------+------------+-------------+---------------+
0: jdbc:phoenix:> select count(*) from T_GW;
+-----------+
| COUNT(1) |
+-----------+
| 8273 |
+-----------+
1 row selected (0.099 seconds)
0: jdbc:phoenix:>
4、HBase验证
hbase(main):005:0> count 'T_GW'
Current count: 1000, row: 100700228
Current count: 2000, row: 101800201
Current count: 3000, row: 103300142
Current count: 4000, row: 105900048
Current count: 5000, row: 111600021
Current count: 6000, row: 200500106
Current count: 7000, row: 202600099
Current count: 8000, row: 401700135
8273 row(s) in 0.9920 seconds
=> 8273
hbase(main):006:0>
ps:如果phoenix里同时存在"T_GW"表,和"t_gw"表,如果要查小写的"t_gw"表,表名必须加引号,即select * from "t_gw",如果不加引号,则算是查大写的T_GW表