关于Phoenix创建的表在hbase shell的显示问题及hue中不能查询的问题

6 篇文章 0 订阅

建表语句

create table schema_test1 
(                                                                    
keys varchar not null primary key,                                   
f.f1 varchar,                                                        
f.f2 varchar,                                                        
s.s1 varchar,                                                        
s.s2 varchar                                                         
);
upsert into schema_test1 values('key1','f1','f2','f3','f4');

create table schema_test2 
(                                                                    
keys varchar not null primary key,                                   
f.f1 varchar,                                                        
f.f2 varchar,                                                        
s.s1 varchar,                                                        
s.s2 varchar                                                         
) COLUMN_ENCODED_BYTES= 0;
upsert into schema_test2 values('key1','f1','f2','f3','f4');

create table schema_test3 
(                                                                    
keys varchar not null primary key,                                   
f.f1 varchar,                                                        
f.f2 varchar,                                                        
s.s1 varchar,                                                        
s.s2 varchar                                                         
) COLUMN_ENCODED_BYTES='NONE';                                       
upsert into schema_test3 values('key1','f1','f2','f3','f4');

Phoenix中查看

0: jdbc:phoenix:node00:2181> create table schema_test1 
. . . . . . . . . . . . . . . . . .> (                                                                    
. . . . . . . . . . . . . . . . . .> keys varchar not null primary key,                                   
. . . . . . . . . . . . . . . . . .> f.f1 varchar,                                                        
. . . . . . . . . . . . . . . . . .> f.f2 varchar,                                                        
. . . . . . . . . . . . . . . . . .> s.s1 varchar,                                                        
. . . . . . . . . . . . . . . . . .> s.s2 varchar                                                         
. . . . . . . . . . . . . . . . . .> );
No rows affected (1.258 seconds)
0: jdbc:phoenix:node00:2181> upsert into schema_test1 values('key1','f1','f2','f3','f4');
1 row affected (0.015 seconds)
0: jdbc:phoenix:node00:2181> 
0: jdbc:phoenix:node00:2181> create table schema_test2 
. . . . . . . . . . . . . . . . . .> (                                                                    
. . . . . . . . . . . . . . . . . .> keys varchar not null primary key,                                   
. . . . . . . . . . . . . . . . . .> f.f1 varchar,                                                        
. . . . . . . . . . . . . . . . . .> f.f2 varchar,                                                        
. . . . . . . . . . . . . . . . . .> s.s1 varchar,                                                        
. . . . . . . . . . . . . . . . . .> s.s2 varchar                                                         
. . . . . . . . . . . . . . . . . .> ) COLUMN_ENCODED_BYTES= 0;
No rows affected (1.258 seconds)
0: jdbc:phoenix:node00:2181> upsert into schema_test2 values('key1','f1','f2','f3','f4');
1 row affected (0.015 seconds)
0: jdbc:phoenix:node00:2181> 
0: jdbc:phoenix:node00:2181> create table schema_test3 
. . . . . . . . . . . . . . . . . .> (                                                                    
. . . . . . . . . . . . . . . . . .> keys varchar not null primary key,                                   
. . . . . . . . . . . . . . . . . .> f.f1 varchar,                                                        
. . . . . . . . . . . . . . . . . .> f.f2 varchar,                                                        
. . . . . . . . . . . . . . . . . .> s.s1 varchar,                                                        
. . . . . . . . . . . . . . . . . .> s.s2 varchar                                                         
. . . . . . . . . . . . . . . . . .> ) COLUMN_ENCODED_BYTES='NONE';                                       
No rows affected (1.24 seconds)
0: jdbc:phoenix:node00:2181> upsert into schema_test3 values('key1','f1','f2','f3','f4');
1 row affected (0.007 seconds)
0: jdbc:phoenix:node00:2181> select * from schema_test1;
+-------+-----+-----+-----+-----+
| KEYS  | F1  | F2  | S1  | S2  |
+-------+-----+-----+-----+-----+
| key1  | f1  | f2  | f3  | f4  |
+-------+-----+-----+-----+-----+
1 row selected (0.036 seconds)
0: jdbc:phoenix:node00:2181> select * from schema_test2;
+-------+-----+-----+-----+-----+
| KEYS  | F1  | F2  | S1  | S2  |
+-------+-----+-----+-----+-----+
| key1  | f1  | f2  | f3  | f4  |
+-------+-----+-----+-----+-----+
1 row selected (0.039 seconds)
0: jdbc:phoenix:node00:2181> select * from schema_test3;
+-------+-----+-----+-----+-----+
| KEYS  | F1  | F2  | S1  | S2  |
+-------+-----+-----+-----+-----+
| key1  | f1  | f2  | f3  | f4  |
+-------+-----+-----+-----+-----+
1 row selected (0.038 seconds)
0: jdbc:phoenix:node00:2181> 

hbase shell中查看

hbase(main):006:0> scan 'MY_SCHEMA:SCHEMA_TEST1'
ROW                                              COLUMN+CELL                                                                                                                                 
 key1                                            column=F:\x00\x00\x00\x00, timestamp=1555656712077, value=x                                                                                 
 key1                                            column=F:\x80\x0B, timestamp=1555656712077, value=f1                                                                                        
 key1                                            column=F:\x80\x0C, timestamp=1555656712077, value=f2                                                                                        
 key1                                            column=S:\x80\x0D, timestamp=1555656712077, value=f3                                                                                        
 key1                                            column=S:\x80\x0E, timestamp=1555656712077, value=f4                                                                                        
1 row(s) in 0.3350 seconds

hbase(main):007:0> scan 'MY_SCHEMA:SCHEMA_TEST2'
ROW                                              COLUMN+CELL                                                                                                                                 
 key1                                            column=F:F1, timestamp=1555656713398, value=f1                                                                                              
 key1                                            column=F:F2, timestamp=1555656713398, value=f2                                                                                              
 key1                                            column=F:_0, timestamp=1555656713398, value=x                                                                                               
 key1                                            column=S:S1, timestamp=1555656713398, value=f3                                                                                              
 key1                                            column=S:S2, timestamp=1555656713398, value=f4                                                                                              
1 row(s) in 0.0120 seconds

hbase(main):008:0> scan 'MY_SCHEMA:SCHEMA_TEST3'
ROW                                              COLUMN+CELL                                                                                                                                 
 key1                                            column=F:F1, timestamp=1555656716711, value=f1                                                                                              
 key1                                            column=F:F2, timestamp=1555656716711, value=f2                                                                                              
 key1                                            column=F:_0, timestamp=1555656716711, value=x                                                                                               
 key1                                            column=S:S1, timestamp=1555656716711, value=f3                                                                                              
 key1                                            column=S:S2, timestamp=1555656716711, value=f4                                                                                              
1 row(s) in 0.0120 seconds

hbase(main):009:0> 

结论:
由上可见,SCHEMA_TEST1表创建时没设置COLUMN_ENCODED_BYTES属性值,导致列名会被编码,从而导致hbase shell中列名显示乱码,hue也无法查看hbase表信息。

了解更多请参看 https://phoenix.apache.org/columnencoding.html

全局设置方法:

HBase --> 配置 --> 高级 --> 搜索 hbase-site.xml。
在客户端添加下面配置后重启服务:

<property>
	<name>phoenix.default.column.encoded.bytes.attrib</name>
	<value>0</value>
</property>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值