我正在使用HBase-1.1和Phoenix-4.7。我在HBase中创建了一个表,并插入了一个示例值,并尝试根据Phoenix的插入值进行查询。
我在HBase中使用以下查询来创建和插入表数据
create 'T1', {NAME => 'F1', IS_MOB => true}
put 'MOBPHOENIXTEST', '1', 'F1:value', 'Initial Value'
并创建了一个Phoenix表来查看HBase数据,如下所示
CREATE TABLE t1 ( pk VARCHAR PRIMARY KEY, f1."value" VARCHAR )
也试过这个创建查询
CREATE TABLE t1 ( pk VARCHAR PRIMARY KEY, value VARCHAR )
但是在运行以下选择查询
时,我无法看到在HBase中插入的行从t1中选择*;
注意:我不想为HBase表'T1'创建Phoenix视图。因为我也可以从凤凰城向HBase插入数据。当我创建一个视图时,我能够看到凤凰城的数据,但我无法使用此视图插入一行。
答案 0 :(得分:1)
由于Hbase和Phoenix之间存在某些数据类型不兼容,因此无法查看使用Hbase shell插入的Hbase表中已存在的数据。
但是,您可以创建一个与现有Hbase表名称相同的表,而不是在Phoenix中创建视图。这将允许您将数据插入到表中,可以使用Phoenix和Hbase检索这些数据。
请注意,只有在Phoenix中以VARCHAR格式存储的数据才能在Hbase中检索。当您尝试检索其他数据类型的数据时,可能会获得具有某些十六进制值的不可读数据或数据。