Hbase CopyTable错误

时间:2016-09-06 20:24:52

标签: hadoop hbase

我想复制一个Hbase表。由于':',我在执行以下命令时遇到错误。我想将此':'保留在表名中。有人可以帮我解决这个问题并成功复制Hbase表吗?

hbase org.apache.hadoop.hbase.mapreduce.CopyTable --new.name=grp:test1_bkp grp:test1

Error: 
SyntaxError: (hbase):4: syntax error, unexpected tSYMBEG

感谢。

1 个答案:

答案 0 :(得分:0)

":" TableName中不允许使用。 从文档。

  

IllegalArgumentException - 如果传递tableName为null或者是   除了' word'字符或下划线:即[a-zA-Z_0-9.-:]。   ':'用于从表名中划分命名空间,并且可以   别无他用。命名空间名称只能包含' word'   字符[a-zA-Z_0-9]或' _'限定词名称只能包含' word'   字符[a-zA-Z_0-9]或' _','。'或' - '。该名称可能无法启动   用'。'或' - '。有效的完全限定表名:foo:bar,   namespace => foo,table => bar org:foo.bar,namespace = org,table => foo.bar

https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/TableName.html#isLegalFullyQualifiedTableName(byte[])