Skip to content

Commit 37df6e4

Browse files
committed
updated hbase_generate_data.py
1 parent 7b4afd8 commit 37df6e4

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

hbase_generate_data.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ def __init__(self):
7777
self.skew = False
7878
self.skew_pc = self.default_skew_pc
7979
self.drop_table = False
80+
self.danger = False
8081
self.timeout_default = 6 * 3600
8182
autoflush()
8283

@@ -97,6 +98,8 @@ def add_options(self):
9798
help='Skew percentage (default: {0})'.format(self.default_skew_pc))
9899
self.add_opt('-d', '--drop-table', action='store_true', default=False,
99100
help='Drop test data table (only allowed if keeping the default table name for safety)')
101+
self.add_opt('-X', '--danger', action='store_true', help='Allows sending data to an existing table. ' +
102+
'Dangerous but useful to test pre-splitting schemes on test tables')
100103

101104
def process_args(self):
102105
log.setLevel(logging.INFO)
@@ -123,6 +126,7 @@ def process_args(self):
123126
validate_int(self.skew_pc, 'skew percentage', 0, 100)
124127
self.skew_pc = int(self.skew_pc)
125128
self.drop_table = self.get_opt('drop_table')
129+
self.danger = self.get_opt('danger')
126130

127131
if self.drop_table and self.table != self.default_table_name:
128132
die("not allowed to use --drop-table if using a table name other than the default table '{0}'"\
@@ -156,10 +160,13 @@ def run(self):
156160
log.info("table '%s' already existed but -d / --drop-table was specified, removing table first",
157161
self.table)
158162
self.conn.delete_table(self.table, disable=True)
163+
elif self.danger:
164+
pass
159165
else:
160166
die("WARNING: table '{0}' already exists, will not send data to a pre-existing table for safety"\
161167
.format(self.table))
162-
self.create_table()
168+
else:
169+
self.create_table()
163170
self.populate_table()
164171
log.info('finished, closing connection')
165172
self.conn.close()

0 commit comments

Comments
 (0)