def __init__(self, table, rowid): self.logger = Logger.getLogger("HBaseRow") # self.logger.setLevel(Level.DEBUG) # Must be a table object self.table = table # Must be a rowid self.rowid = rowid self.rowPut = Put(self.rowid)
def getUpdate(self, row): up = Put(row.getRow()) for k, v in self.replace.items(): (fam, col) = KeyValue.parseColumn(Bytes.toBytes(java.lang.String(k))) if isinstance(v, com.google.protobuf.Message): up.add(fam, col, v.toByteArray()) else: up.add(fam, col, PBUtil.toBytes(v)) return up
def save(self, rowkey, vals, ts=None): key = java_str(rowkey) rowup = Put(Bytes.toBytes(key)) if ts is not None: rowup.setTimestamp(ts) for k, v in vals.items(): (fam, col) = KeyValue.parseColumn(Bytes.toBytes(java_str(k))) if isinstance(v, com.google.protobuf.Message): rowup.add(fam, col, v.toByteArray()) else: rowup.add(fam, col, PBUtil.toBytes(v)) self.table.put(rowup)