【问题标题】:Range scans on columns using Astyanax使用 Astyanax 对列进行范围扫描
【发布时间】:2013-04-03 20:27:19
【问题描述】:

我的列族将数据存储在列名中,我想使用 Astyanax 对列执行范围查询。任何人都可以建议如何做到这一点?

【问题讨论】:

    标签: cassandra astyanax


    【解决方案1】:

    有很多关于范围查询的示例here

    样品一

    keyspace.prepareQuery(CF_TIME_UUID)
        .getKey(rowKey)
        .withColumnRange(
            new RangeBuilder()
                .setLimit(10)
                .setStart(TimeUUIDUtils.getTimeUUID(0))
                .setEnd(TimeUUIDUtils
                    .getTimeUUID(Long.MAX_VALUE >> 8))
                .build()).execute();
    

    【讨论】:

      【解决方案2】:

      我同意 abhi 的观点,这正是 Playorm 实现它的方式。您可以在https://github.com/deanhiller/playorm/blob/master/src/main/java/com/alvazan/orm/layer9z/spi/db/cassandra/CassandraSession.java 看到 columnSlice() API 的代码

      另外,如果您使用 Playorm for Cassandra,您可以只使用其 ColumnSlice API。示例在https://github.com/deanhiller/playorm/blob/master/src/test/java/com/alvazan/test/TestColumnSlice.java

      【讨论】:

      【解决方案3】:

      实际上,如果您的最终目标是取出实体,您也可以使用 PlayOrm 查询语言。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-06
        • 2014-05-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多