def clear_batch(track_id, tpid, tpe, seq, image_type): table = get_table_name() #row_key = '%s-%s_%s_%s_%s' % (track_id, tpid, tpe, seq, image_type) row = rowkey.gen_v2(track_id, tpid, tpe, seq, image_type) cols = [] cols.append(('meta', 'batch_list', '')) return hbase_util.put_cols(table, row, cols)
def get_batch_list(track_id, tpid, tpe, seq, image_type): table = get_table_name() #row = '%s-%s_%s_%s_%s' % (track_id, tpid, tpe, seq, image_type) row = rowkey.gen_v2(track_id, tpid, tpe, seq, image_type) ret = hbase_util.get_col(table, row, 'meta', 'batch_list') if ret: assert ret.keys() == ['meta:batch_list'] return ret['meta:batch_list'] else: return None
def image_delete(track_id, tpid, tpe, seq, image_type, batch=''): row_key = rowkey.gen_v2(track_id, tpid, tpe, seq, image_type) if not batch: batch = batch_manager.get_last_batch(track_id, tpid, tpe, seq, image_type) if not batch: logger().error('get empty batch for row_key[%s]', row_key) return False table = get_table_name() columns = ['content:' + batch] logger().debug('delete row [%s], batch[%s]', row_key, batch) hbase_util.delete(table, row_key, columns=columns) batch_manager.del_batch(track_id, tpid, tpe, seq, image_type, batch) return True
def image_exist(track_id, tpid, tpe, seq, image_type, batch=''): row_key = rowkey.gen_v2(track_id, tpid, tpe, seq, image_type) logger().info('row_key[%s], batch[%s]', row_key, batch) if not batch: last_batch = batch_manager.get_last_batch(track_id, tpid, tpe, seq, image_type) logger().info('v2 last_batch[%s]', last_batch) return last_batch != None else: if tpe == '00' and seq == '004': return False else: table = get_table_name() ret = hbase_util.get_col(table, row_key, 'content', batch) return not not ret
def del_batch(track_id, tpid, tpe, seq, image_type, batch): batch_list = get_batch_list(track_id, tpid, tpe, seq, image_type) logger().debug('old batch_list:%s', batch_list) if batch_list: batch_list = _batch_del(batch_list, batch) else: batch_list = '' logger().debug('new batch_list:%s', batch_list) # write table = get_table_name() #row_key = '%s-%s_%s_%s_%s' % (track_id, tpid, tpe, seq, image_type) row = rowkey.gen_v2(track_id, tpid, tpe, seq, image_type) cols = [] cols.append(('meta', 'batch_list', batch_list)) return hbase_util.put_cols(table, row, cols)
def image_get(track_id, tpid, tpe, seq, image_type, batch=None): if tpe == '00' and seq == '004': ret = rawdata_api.image_get(track_id, tpid) if ret: return ret #row_key = '%s-%s_%s_%s_%s' % (track_id, tpid, tpe, seq, image_type) row_key = rowkey.gen_v2(track_id, tpid, tpe, seq, image_type) if not batch: batch = batch_manager.get_last_batch(track_id, tpid, tpe, seq, image_type) if not batch: logger().error('get empty batch for row_key[%s]', row_key) return None table = get_table_name() logger().debug('row [%s], batch[%s]', row_key, batch) ret = hbase_util.get_col(table, row_key, 'content', batch) if ret: return ret['content:' + batch] return None
def image_write(track_id, tpid, tpe, seq, image_type, content, task_seq, batch): row_key = rowkey.gen_v2(track_id, tpid, tpe, seq, image_type) cols = [] table = batch_manager.get_table_name() cols.append(('meta', 'type', tpe)) cols.append(('meta', 'seq', seq)) cols.append(('meta', 'image_type', image_type)) cols.append(('meta', 'task_seq_' + task_seq, batch)) if not hbase_util.put_cols(table, row_key, cols): return False # for 004, do not write content to hbase if tpe == '00' and seq == '004' and not content: return True cols = [] table = get_table_name() logger().info('write row_key[%s] to table[%s]', row_key, table) cols.append(('content', batch, content)) if not hbase_util.put_cols(table, row_key, cols): return False return True
def rowkey_main(): print gen('test1', '11', '2', '3', 'jpg') print gen_v2('test2', '11', '2', '3', 'jpg')
def rowkey_test(): assert_equal('0-test1-11_2_3_jpg', gen('test1', '11', '2', '3', 'jpg')) assert_equal('55-test2-11_2_3_jpg', gen_v2('test2', '11', '2', '3', 'jpg'))