繁体   English   中英

Cassandra Hector:如何获取家庭中所有键值?

[英]Cassandra Hector : How to retrieve all keyrows value in family?

我是casssandra的新手,想从CloumnFamily获取所有行键值。 假设我有用户CoulmnFamily像这样

list User

RowKey: amit
=> (column=fullname, value=amitdubey, timestamp=1381832571947000)
-------------------
RowKey: jax1
=> (column=fullname, value=jagveer1, timestamp=1381655141564000)
-------------------
RowKey: jax2
=> (column=fullname, value=amitdubey, timestamp=1381832571947000)
-------------------
RowKey: jax3
=> (column=fullname, value=jagveer3, timestamp=1381655141564000)
-------------------

我正在寻找示例代码来检索该家庭的所有键值。

像这样:

amit
jax1
jax2
jax3

我的Cassandra版本为1.1,感谢您的帮助

您只需在hector客户端中使用RangeSlicesQuery即可完成此操作。

RangeSlicesQuery<String, String, String> rangeSlicesQuery =
            HFactory.createRangeSlicesQuery(keyspace, ss, ss, ss)
                    .setColumnFamily("User")
                    .setRange(null, null, false, rowCount)
                    .setRowCount(rowCount)
                    .setReturnKeysOnly();

    String lastKey = null;

    while (true) {
        rangeSlicesQuery.setKeys(lastKey, null);

        QueryResult<OrderedRows<String, String, String>> result = rangeSlicesQuery.execute();
        OrderedRows<String, String, String> rows = result.get();
        Iterator<Row<String, String, String>> rowsIterator = rows.iterator();

        /**
         * we'll skip this first one, since it is the same as the last one from previous time we executed.
         */
        if (lastKey != null && rowsIterator != null) {
            rowsIterator.next();
        }
        while (rowsIterator.hasNext()) {
            Row<String, String, String> row = rowsIterator.next();
            lastKey = row.getKey();

            System.out.println(lastkey);
        }

        if (rows.getCount() < rowCount) {
            break;
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM