Получить данные указанных столбцов из базы данных Cassandra не все данные столбцов
Я работаю с базой данных Cassandra. Я создал одно семейство столбцов, в котором есть 10 столбцов.
Теперь я заинтересован в получении только тех столбцов, которые мне нужны. Мне не нужно извлекать все значения столбцов из базы данных Cassandra.
Предположим, если у меня есть столбцы ниже в моей семье столбцов users
,
colA
colB
colC
colD
И мне нужно только получить colA and colB
данные из базы данных Кассандры. Тогда что я должен делать? Я не хочу получать все данные столбцов от Кассандры, а затем перебирать, чтобы получить необходимые столбцы.
Что-то вроде-
SELECT colA, colB from table1;
Я работаю с Pelops client
,
Ниже мой код.
public void readTest() {
// read back the data we just wrote
Selector selector = Pelops.createSelector(poolName);
List<Column> columns = selector.getColumnsFromRow(colFamilyName, rowKey, false, ConsistencyLevel.ONE);
System.out.println("Name: " + Selector.getColumnStringValue(columns, "name"));
System.out.println("Age: " + Selector.getColumnValue(columns, "age").toInt());
}
1 ответ
Решение
Вам нужно использовать вызов getColumnsFromRow, который принимает "SlicePredicate" для указания имен столбцов. Такие как:
getColumnsFromRow(String columnFamily, Bytes rowKey, SlicePredicate colPredicate, ConsistencyLevel cLevel)