Accumulo: эквивалент MongoDB createIndex()

Я новичок в Accumulo и пытаюсь получить все идентификаторы строк, соответствующие семейству/квалификатору столбцов. В MongoDB это можно сделать, создав индекс для поля с помощью createIndex(). Есть ли способ сделать то же самое в Accumulo?


person mini.1601    schedule 16.09.2016    source источник
comment
Я думаю, что здесь можно использовать класс IndexingClient.java, но я использую Python (pyaccumulo). Я не думаю, что pyaccumulo поддерживает это.   -  person mini.1601    schedule 16.09.2016


Ответы (2)


Извлечение RowId из семейства столбцов и квалификатора может быть выполнено вышеупомянутым способом, в этом случае рекомендуется создавать группы семейства для повышения производительности.

А для поиска по значениям я рекомендую вам сделать обратные индексы

person Gagan Ahuja    schedule 02.11.2018

RowIds в Accumulo могут быть получены в известном вам семействе или квалификаторе.

Код для Java

Scanner scan = conn.createScanner("tableName", new Authorizations());
//for scanning on only Column Family
scan.fetchColumnFamily(new Text("CF"));
//for Scanning on both family and qualifier  
scan.fetchColumn(new Text("CF"),new Text("CQ"));
for (Entry<Key, Value> entry : scan) {
System.out.println(entry.getKey().getRow());
}

Accumulo Shell После выбора конкретной таблицы используйте cammand

сканирование -c CF:CQ

person Gagan Ahuja    schedule 02.11.2018