【问题标题】:How to find size of a partition in Cassandra using ScalarDB如何使用 ScalarDB 在 Cassandra 中查找分区的大小
【发布时间】:2020-07-24 06:46:47
【问题描述】:

我正在使用 Scalar DB 库,它在 Cassandra 中添加了 ACID 支持。如何使用 Scalar DB 获取分区的大小?

在 Cassandra Java 驱动程序中,我会调用如下代码来获取大小。

val resultSet = session.execute(partitionSizeQuery)
      val resultSetSize = resultSet.all.size 

ScalarDB 的等价物是什么。

我打电话时收到Optional[Result]

val result = transaction.get(getQuestion)

然后我调用.get来获取result的值,如果有值(在检查result.isPresent之后)

val resultGet = result.get
    logger.trace(s"result is ${resultGet}")

我想上面只会给我一行。

我曾想过使用Scan 以及它提供List[Result],但从文档中不清楚我是否会获得所有结果或一些系统/可配置限制。

即使我不会一次性解决所有问题,我如何获得分区大小?

【问题讨论】:

    标签: scalardb


    【解决方案1】:

    您需要执行scan 并获取List<Result>。 它从数据库中检索所有结果,但是如果分区的大小很大,不建议这样做。

    您可以使用ScanwithStartwithEnd API 来限制扫描范围。 https://scalar-labs.github.io/scalardb/javadoc/com/scalar/db/api/Scan.html

    如果它只检索指定的范围,它可能取决于下划线的实现,但在 Cassandra 的情况下它只检索指定的范围。

    【讨论】:

      猜你喜欢
      • 2018-10-30
      • 2019-06-22
      • 1970-01-01
      • 2021-11-15
      • 2016-05-11
      • 2010-12-29
      • 2019-05-26
      • 2010-09-23
      • 1970-01-01
      相关资源
      最近更新 更多