Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra 如何运行增量查询_Cassandra_Datastax Java Driver - Fatal编程技术网

Cassandra 如何运行增量查询

Cassandra 如何运行增量查询,cassandra,datastax-java-driver,Cassandra,Datastax Java Driver,我使用的是Cassandra 3.10和DataStax 3.1.4。 我希望能够运行一个查询,返回一组数据,比如10000条记录,直到处理完完整的数据集为止,其目的是提高内存效率如果您事先知道数据集的大小(例如10k条记录),那么最好是围绕此数据集大小设计表,例如,创建一个表,并预先将数据组织到每个10k记录的分区中 这主要是为了匹配规则“围绕查询的模型”。如果您事先知道数据集的大小(例如10k条记录),那么最好是围绕此数据集大小设计表,例如创建一个表,并预先将数据组织到每个10k条记录的分区

我使用的是Cassandra 3.10和DataStax 3.1.4。
我希望能够运行一个查询,返回一组数据,比如10000条记录,直到处理完完整的数据集为止,其目的是提高内存效率

如果您事先知道数据集的大小(例如10k条记录),那么最好是围绕此数据集大小设计表,例如,创建一个表,并预先将数据组织到每个10k记录的分区中


这主要是为了匹配规则“围绕查询的模型”。

如果您事先知道数据集的大小(例如10k条记录),那么最好是围绕此数据集大小设计表,例如创建一个表,并预先将数据组织到每个10k条记录的分区中


这主要是为了匹配规则“围绕查询的模型”。

您可以在大多数驱动程序中分页数据。因此,对于您的查询,您将指定一个fetchsize。当到达resultset中最后一个获取的行时,驱动程序将自动获取下一个fetchsize行数


关于datastax java驱动程序分页器,您需要了解的所有信息都在这里有详细的文档记录:

您可以在大多数驱动程序中分页数据。因此,对于您的查询,您将指定一个fetchsize。当到达resultset中最后一个获取的行时,驱动程序将自动获取下一个fetchsize行数


关于datastax java驱动程序寻呼机,您需要了解的一切都在这里有详细的文档记录:

为数据建模,使每个分区都有10K条记录。然后查询给定的分区,甚至搜索所有分区,将从最小的节点加载数据。我真的不明白,你说的高效记忆是什么意思?您的意思是在应用程序端还是cassandra服务器端?对数据进行建模,使每个分区都有10K条记录。然后查询给定的分区,甚至搜索所有分区,将从最小的节点加载数据。我真的不明白,你说的高效记忆是什么意思?您的意思是在应用程序端还是cassandra服务器端?仅从应用程序的角度来看,部分抓取是好的。从协调器的角度来看,请求一组记录通常是一个很大的no no。如果您有非常大的分区,那么在第一个结果到达应用程序级别之前,您就会开始看到超时,因为协调器将过载(如果不是,则等待另一个重载节点的结果,该节点将扫描一个非常大的分区,但这在很大程度上取决于查询的类型…)同意。但只要你知道你在做什么,分页就可以了。在使用Oracle、ODBC和JDBC开发了30年之后,这是我第一次尝试使用Cassandra,所以我将依赖驱动程序的分页功能,这与JDBC驱动程序的方式大致相同。我理解关于过载分区的评论,但不确定如何输入因此,我的理解是分区键是为了在各个节点上分发数据以提高性能。这是事实。它也是本地节点上的一个键,因此它可以快速找到该分区的所有数据。在分页的情况下,您需要根据aver上分区中的行数调整获取大小年龄。您必须测量自己的延迟值,并了解Cassandra何时会遇到困难,何时会好起来。还要记住,当您进行分页时,很可能会对集群中的每个节点施加压力,而不是指定单个分区。仅从应用程序的角度来看,部分抓取是好的。从从协调器的角度来看,请求一组记录通常是一个很大的否。如果您有非常大的分区,那么在第一个结果到达应用程序级别之前,您就会开始看到超时,因为协调器将过载(如果不是,则等待另一个重载节点的结果,该节点将扫描一个非常大的分区,但这在很大程度上取决于查询的类型…)同意。但只要你知道你在做什么,分页就可以了。在使用Oracle、ODBC和JDBC开发了30年之后,这是我第一次尝试使用Cassandra,所以我将依赖驱动程序的分页功能,这与JDBC驱动程序的方式大致相同。我理解关于过载分区的评论,但不确定如何输入因此,我的理解是分区键是为了在各个节点上分发数据以提高性能。这是事实。它也是本地节点上的一个键,因此它可以快速找到该分区的所有数据。在分页的情况下,您需要根据aver上分区中的行数调整获取大小年龄。您必须测量自己的延迟值,了解Cassandra何时会遇到困难,何时会好起来。还要记住,当您进行分页时,很可能会对集群中的每个节点施加压力,而不是指定单个分区。