与“旧式”令牌函数相比,使用“新式”Cassandra分页状态有哪些优点?

与“旧式”令牌函数相比,使用“新式”Cassandra分页状态有哪些优点?,cassandra,Cassandra,我知道在Cassandra中有两种迭代大型结果集的方法: 使用令牌进行显式查询,如本文中关于的讨论。这似乎是在Cassandra 2.0之前做事情的唯一方法。 使用。 现在,分页状态似乎是建议的处理方式,但使用旧的令牌方式仍然有效 除了它是一种受祝福的做事方式,这当然是一种优势之外,我很想了解使用新方法比使用旧方法有什么特别的优势?是否有理由不以这种方式使用令牌?分页或令牌的使用实际上取决于您的需求和技术能力。在我看来,使用分页有利于从大分区获取数据,或者在表中没有太多数据时,可以使用selec

我知道在Cassandra中有两种迭代大型结果集的方法:

使用令牌进行显式查询,如本文中关于的讨论。这似乎是在Cassandra 2.0之前做事情的唯一方法。 使用。 现在,分页状态似乎是建议的处理方式,但使用旧的令牌方式仍然有效


除了它是一种受祝福的做事方式,这当然是一种优势之外,我很想了解使用新方法比使用旧方法有什么特别的优势?是否有理由不以这种方式使用令牌?

分页或令牌的使用实际上取决于您的需求和技术能力。在我看来,使用分页有利于从大分区获取数据,或者在表中没有太多数据时,可以使用select*From表


但如果集群中有多台服务器,并且数据量很大,如果您正确设置路由密钥,使用令牌将允许您从特定服务器读取数据,同时,Spark Cassandra连接器使用令牌正是出于这个原因——这比使用分页有很大的优势,在分页中,您使用一个协调器节点,需要转到其他节点以获取它没有的数据。但对于一些人来说,这并不容易实现,因为您需要覆盖边缘情况,例如,当令牌范围不完全从最小值开始时。如果您需要,我有办法做到。

分页或令牌的使用实际上取决于您的需求和技术能力。在我看来,使用分页有利于从大分区获取数据,或者在表中没有太多数据时,可以使用select*From表


但如果集群中有多台服务器,并且数据量很大,如果您正确设置路由密钥,使用令牌将允许您从特定服务器读取数据,同时,Spark Cassandra连接器使用令牌正是出于这个原因——这比使用分页有很大的优势,在分页中,您使用一个协调器节点,需要转到其他节点以获取它没有的数据。但对于一些人来说,这并不容易实现,因为您需要覆盖边缘情况,例如,当令牌范围不完全从最小值开始时。如果你需要的话,我有办法去做。

我同意Alex的回答,我要补充一点,当你用代币去做那件事时,你有代币的手,这意味着如果你在处理大量数据,你可以保存你的检查点,例如,你可以很好地处理失败后重新启动,或者只是暂停作业,或者启动多线程作业和单独的教职工数据,例如spark职工处理数据的方式也是基于令牌的

驱动程序会自动为您处理分页,这样您就不必使用为您处理的本机事物的所有优点来获取页面,但是使用令牌可以让您完全掌握分页的方式,以及通过访问特定范围、特定服务器可以获得的所有优点


我希望这有帮助

我同意Alex的回答,我要补充一点,当你用代币做这件事的时候,你有权使用代币,这意味着如果你在处理大量数据,你可以保存你的检查点,例如,你可以很好地处理故障后重新启动,或者只是暂停你的工作,或者也可以启动多线程作业和单独的教职工数据,例如spark职工处理数据的方式也是基于令牌的

驱动程序会自动为您处理分页,这样您就不必使用为您处理的本机事物的所有优点来获取页面,但是使用令牌可以让您完全掌握分页的方式,以及通过访问特定范围、特定服务器可以获得的所有优点


我希望这有帮助

谢谢你的解释谢谢你的解释