是否可以在hbase中更改列的列族?

是否可以在hbase中更改列的列族?,hbase,Hbase,例如: row1,cf1:a,cf2:b row2,cf1:x,cf1:y row3,cf2:a,cf2:c row1是我的表的行键,cf1和cf2是列族。我想将列cf1:a从row1移动到cf2:a。i、 e.更改其列族。是否可以在不删除行的情况下直接对其进行更改,然后将其放入新族中 谢谢。Hbase将数据存储在带有列族名称的hfiles中,因为我认为,如果不删除/放置,就无法在族之间移动列。如果有一个shell命令,它也会为您做同样的事情 我想你应该想想,如果你的桌子很大,你该怎么做:)

例如:

row1,cf1:a,cf2:b
row2,cf1:x,cf1:y 
row3,cf2:a,cf2:c
row1
是我的表的行键,
cf1
cf2
是列族。我想将列
cf1:a
row1
移动到
cf2:a
。i、 e.更改其列族。是否可以在不删除行的情况下直接对其进行更改,然后将其放入新族中


谢谢。

Hbase将数据存储在带有列族名称的hfiles中,因为我认为,如果不删除/放置,就无法在族之间移动列。如果有一个shell命令,它也会为您做同样的事情

我想你应该想想,如果你的桌子很大,你该怎么做:) 协处理器可能会有所帮助,从理论上讲,它们在存储数据的hbase区域服务器中处理数据,因此您可以避免网络传输,同时在多台服务器上执行迁移


如果您的表很小(比如小于1000万),只需编写一个java代码,从扫描结果中逐个读取行,然后删除并将列键放入其他族。不要忘记在扫描中使用列键选择器。我的意思是只将该列从数据库中获取到您的程序。

Hbase将数据存储在带有列族名称的hfiles中,因为我认为,如果不删除/放置,您无法在族之间移动列。如果有一个shell命令,它也会为您做同样的事情

我想你应该想想,如果你的桌子很大,你该怎么做:) 协处理器可能会有所帮助,从理论上讲,它们在存储数据的hbase区域服务器中处理数据,因此您可以避免网络传输,同时在多台服务器上执行迁移

如果您的表很小(比如小于1000万),只需编写一个java代码,从扫描结果中逐个读取行,然后删除并将列键放入其他族。不要忘记在扫描中使用列键选择器。我的意思是只从数据库中获取该列到您的程序中