예제 #1
0
 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)
예제 #2
0
    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
예제 #3
0
    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)