如何导出hbase表的ddl

9rygscc1  于 2021-06-09  发布在  Hbase
关注(0)|答案(2)|浏览(643)

如何导出hbase表的ddl?我想导出ddl并在另一个环境中使用它来重新创建表。谢谢

ar7v8xwq

ar7v8xwq1#

根据我对您需求的了解,您正在寻找类似rbdms(例如oracle)提供的产品。
如果是这样的话,那么在hbase中单独导出表结构就没有多大意义,因为hbase表可能包含非结构化数据。我的意思是,列限定符的数量(相当于oracle列)不是固定的。
如果您想用给定的列族和其他参数(如复制因子等)创建表,可以在hbase shell中使用下面的命令。 describe TABLE_NAME 这将为您提供所需的信息,从中您可以在任何具有给定列族等的hbase示例上创建表。

c8ib6hqw

c8ib6hqw2#

创建快照
hbase外壳

hbase> snapshot 'myTable', 'myTableSnapshot-122112'

确保它已列出。
hbase>列出快照
将快照导出到其他群集。在终端中执行下面的命令
hbase org.apache.hadoop.hbase.snapshot.exportsnapshot-snapshot-copy from hdfs://{来自\u集群_namenode:port}/hbase/data/-复制到hdfs://{到\u群集_namenode:port}/hbase/数据/-Map器16
这将触发mr作业来传输快照。
登录到其他集群,确保快照传输到新集群。

hbase> hbase shell

hbase> list_snapshots

在新群集中还原快照。下面是hbase shell中的命令。
hbase>还原快照'snapshotname'

相关问题