【问题标题】:Unable to see columns in Phoenix View无法在 Phoenix View 中看到列
【发布时间】:2016-01-19 01:08:33
【问题描述】:

我在 HBase 中有一个推文表,请在下面使用 hbase describe tweet 找到它的描述

{NAME => 'tweets', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICAT
ION_SCOPE => '0', COMPRESSION => 'GZ', VERSIONS => '1', TTL => 'FOREVER', MIN_VE
RSIONS => '0', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY =>
 'false', BLOCKCACHE => 'true'}

并在 Phoenix 中创建了它的相应视图

 CREATE VIEW "tweets" ( pk VARCHAR PRIMARY KEY,"tweets".fromuser VARCHAR );

但是当我做Select * from "tweets"时,我只能看到主键,从用户列数据是空的,当我这样做时也会发生同样的事情

select fromuser from "tweets"

【问题讨论】:

    标签: hbase phoenix


    【解决方案1】:

    在创建视图时,您必须将列族名称和列名称双引号:

    CREATE VIEW "tweets" ( pk VARCHAR PRIMARY KEY,"tweets"."fromuser" VARCHAR );
    

    因此,在上面的示例中,您需要在“fromuser”周围加上双引号。

    【讨论】:

      【解决方案2】:

      你的 tweets HBase 表看起来如何?

      如果您使用 Phoenix 在源表中的现有 HBase 表上创建视图,则应该存在给定的列族和限定符。因此,在表格推文中,您应该有家庭“推文”和“来自用户”列限定符。

      https://phoenix.apache.org/faq.html#How_I_map_Phoenix_table_to_an_existing_HBase_table

      【讨论】:

      • 是的,我确实有,下面是扫描 ROW COLUMN+CELL 1445246112_656035936 column=tweets:fromuser, timestamp=1445259952715, value=Vee 334168064 rArjey 的示例
      • 奇怪。尝试在限定符中添加双引号: CREATE VIEW "tweets" (pk VARCHAR PRIMARY KEY,"tweets"."fromuser" VARCHAR );并从“tweets”中选择“tweets”。“fromuser”。
      • 谢谢 :) 但你能解释一下为什么我必须用引号括起来吗?
      • 很遗憾没有:)。答案仅来自我的经验经验:)。
      猜你喜欢
      • 2017-09-29
      • 2016-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-23
      • 1970-01-01
      • 1970-01-01
      • 2020-09-05
      相关资源
      最近更新 更多