Поиск и обновление столбцов в Bigtable

Предположим, что у нас есть следующая структура Bigtable: Table1: cf1 [«col1», «col2»], cf2 [«colX», «colY»]

Запрос из клиентского API hbase:

Get getT = new Get(Bytes.toBytes(rowKey));
getT.addColumn(byteArray_cf1, byteArray_col1);
Result rt = table.get(getT);

Эффективен ли поиск для поиска определенного cf и столбца при возврате желаемого результата запроса? Предполагая, что размер каждого из значений столбца col1, col2, colX и colY составляет 10 МБ, достаточно ли эффективен вышеуказанный запрос, чтобы просто найти значение для col1 и вернуть результаты запроса?

Кроме того, при вызове Put для обновления значения столбца переписывается ли вся строка с помощью bigtable? или обновляется только значение столбца?

Put putT = new Put(Bytes.toBytes(rowKey));
putT.addColumn(byteArray_cf1, byteArray_col1, Bytes.toBytes("updatedData"));
table.put(putT)

person Venkatesh Chitnis    schedule 01.05.2017    source источник


Ответы (1)


Эффективен ли поиск для поиска определенного cf и столбца при возврате желаемого результата запроса?

да.

Предполагая, что размер каждого из значений столбца col1, col2, colX и colY составляет 10 МБ, достаточно ли эффективен вышеуказанный запрос, чтобы просто найти значение для col1 и вернуть результаты запроса?

Вызывающей стороне возвращаются только запрошенные данные в (семейство столбцов, квалификатор).

Кроме того, при вызове Put для обновления значения столбца переписывается ли вся строка с помощью bigtable? или обновляется только значение столбца?

Обновляется только указанное значение столбца, а не вся строка.

person Misha Brukman    schedule 05.05.2017