我尝试在论坛上搜索,在那里我可以从现有的hbase表模式创建一个新的空hbase表,但是找不到。
更准确地说,假设我有一个表,其中包含多个列族和多个列限定符。
现在我必须用相同的模式创建另一个空表。我们是否可以像在rdbms中那样创建表。
Create table new_table as
select * from existing_table where 1=2;
现有的表有一个复杂的结构,所以正常的hbase create table
指定了列族和列限定符的命令不是选项。
仅供参考。。我正在使用 Mapr HBase 0.98.12-mapr-1506
我没有选择切换到任何高级版本或其他发行版。
2条答案
按热度按时间r8xiu3jd1#
这是我使用的完全证明方法。希望它能帮助别人。
1) 启动hbase shell命令
2) 使用以下命令查询现有表元数据
输出类似于:
3) 将此输出复制到记事本并执行以下更改:
4) 最后使用新表名运行create查询:
你就完了。新表架构与现有表完全相同。
k5hmc34c2#
您可以使用快照功能来执行此操作。这样地;
我希望你的table不是很大。你不能用空值复制列限定符,如果我没有理解错,你的问题是这个意思。可以将所有数据复制到新表中,也可以仅复制具有列族、协处理器的表结构。。等。