Получить данные указанных столбцов из базы данных 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)
Другие вопросы по тегам