假设我们有一个Bigtable结构如下: 表1:cf1 [“col1”,“col2”],cf2 [“colX”,“colY”]
从hbase客户端API查询:
Get getT = new Get(Bytes.toBytes(rowKey));
getT.addColumn(byteArray_cf1, byteArray_col1);
Result rt = table.get(getT);
在返回所需的查询结果时,检索是否有效查找特定的cf和列?假设每个列值col1,col2,colX和colY的大小为10 MB,上述查询是否足够有效,只需查找col1的值并返回查询结果?
另外,当调用Put来更新列值时,bigtable是否重写了整行?或者它只是更新的列值?
Put putT = new Put(Bytes.toBytes(rowKey));
putT.addColumn(byteArray_cf1, byteArray_col1, Bytes.toBytes("updatedData"));
table.put(putT)
答案 0 :(得分:1)
在返回所需的查询结果时,检索是否有效查找特定的cf和列?
是
假设每个列值col1,col2,colX和colY的大小为10 MB,上述查询是否足够有效,只能查找col1的值并返回查询结果?
仅将(列族,限定符)中请求的数据返回给调用者。
另外,当调用Put来更新列值时,bigtable是否重写了整行?或者它只是更新的列值?
仅更新指定的列值,而不是整行。