@@ -39,6 +39,17 @@ def usage
39
39
exit!
40
40
end
41
41
42
+ def create_namespace_if_not_exists ( src , dst , namespace )
43
+ begin
44
+ dst . getNamespaceDescriptor ( namespace )
45
+ puts format ( 'Namespace "%s" already exists.' , namespace )
46
+ rescue org . apache . hadoop . hbase . NamespaceNotFoundException
47
+ n = src . getNamespaceDescriptor ( namespace )
48
+ dst . createNamespace ( n )
49
+ puts format ( 'Namespace "%s" was successfully created.' , namespace )
50
+ end
51
+ end
52
+
42
53
def copy ( src , dst , table )
43
54
# verify if table exists in source cluster
44
55
begin
@@ -48,6 +59,10 @@ def copy(src, dst, table)
48
59
return
49
60
end
50
61
62
+ # verify if namespace *doesn't* exists in the target cluster
63
+ namespace = TableName . valueOf ( table ) . getNamespaceAsString
64
+ create_namespace_if_not_exists ( src , dst , namespace )
65
+
51
66
# verify if table *doesn't* exists in the target cluster
52
67
begin
53
68
dst . createTable ( t )
@@ -56,7 +71,7 @@ def copy(src, dst, table)
56
71
return
57
72
end
58
73
59
- puts format ( 'Schema for table "%s" was succesfully copied to remote cluster.' , table )
74
+ puts format ( 'Schema for table "%s" was successfully copied to remote cluster.' , table )
60
75
end
61
76
62
77
# disable debug/info logging on this script for clarity
0 commit comments