如何从Hbase中的列家族中删除列?

时间:2017-03-23 13:32:45

标签: hadoop hbase

要删除列族,我们有以下命令。

hbase> disable tablename
hbase> alter 'tablename',{NAME=>'COLFAM NAME',METHOD=>'delete}

如果有一个列家庭:' empdetails'在表格中可以使用'使用列:' col1,col2',有没有办法从列系列中删除特定列? 我不打算实施它,但这只是为了我的知识,并知道是否有这种可能性。

3 个答案:

答案 0 :(得分:2)

如果我的问题是正确的,您希望删除列族下的列限定符。

众所周知,在表创建过程中,我们只定义列族而不是列限定符。因此,列限定符将在动态创建,具体取决于需要。这意味着您不会为该表中的所有行提供列限定符。因此,没有规定删除特定列族的列限定符。

可以通过两种方式删除行:

  1. delete:删除与行相关的特定单元格,提供有关表格,rowKey,列(系列:限定符),时间戳等的所有信息
  2. deleteall:在提供表格和行密钥等最小信息
  3. 时删除与行相关的所有单元格

    您可以参考此link获取确切的语法

答案 1 :(得分:1)

删除' {表名}',' {row}',' {列名}',' {时间戳} '

删除' emp',' 1','个人资料:city',1417521848375

delete命令可用于删除某些列。要删除包含其所有列的整行,请使用delete all。要删除表中的所有行,请使用truncate'tablename'。在引擎盖下,HBase将禁用,删除和重新创建表

  • 连续删除列: HBase的>删除“,'rowkey','col' HBase的>删除't1','r1','fam1:c1'
  • 删除整行 HBase的>删除“,'rowkey' HBase的>删除't1','r1'
  • 删除所有行 HBase的>截断''

答案 2 :(得分:0)

请参阅此页面,它提供3种解决方案来从HBase表中删除列-

https://querydb.blogspot.com/2019/11/hbase-phoenix-cause-and-solution-for.html
  1. Unix命令
  2. 穿越凤凰城
  3. Hadoop Map Reduce