Il est impossible d'archiver ce directement. Il y a des possibilités d'émuler ceci (cette solution n'est pas vraiment aléatoire, mais vous devriez recevoir des valeurs différentes), mais ce n'est pas vraiment une idée parfaite.
Ce que vous pouvez faire est de créer une valeur aléatoire dans la plage de jetons Cassandra -2^63 - 2^64. Avec cette valeur aléatoire, vous pouvez effectuer une telle requête:
Sélectionnez * à partir de users_by_firstname où token (userId)> # generated_value # limit 10;
En utilisant cette méthode, vous pouvez définir un 'point de départ' aléatoire à partir duquel vous pouvez recevoir 10 utilisateurs. Comme je l'ai dit, cette méthode n'est pas parfaite et il faut certainement réfléchir à la façon de générer le jeton aléatoire. Un cas de bordure pourrait être, que votre valeur aléatoire est si loin d'un côté de l'anneau, que vous recevriez moins de 10 valeurs.
Voici un petit exemple:
Disons que vous avez une table d'utilisateurs avec les utilisateurs suivants:
token(uuid) | name
----------------------+---------
-2540966642987085542 | Kate
-1621523823236117896 | Pauline
-1297921881139976049 | Stefan
-663977588974966463 | Anna
-155496620801056360 | Hans
958005880272148645 | Max
3561637668096805189 | Doro
5293579765126103566 | Paul
8061178154297884044 | Frank
8213365047359667313 | Peter
Disons que maintenant vous générer la valeur 42 comme une start-jeton, la sélection serait être
sélectionner le jeton (uuid), nom du test où token (uuid)> 42 limite 10;
Dans cet exemple, le résultat serait
token(id) | name
---------------------+-------
958005880272148645 | Max
3561637668096805189 | Doro
5293579765126103566 | Paul
8061178154297884044 | Frank
8213365047359667313 | Peter
Cette méthode pourrait être une approche raisonnable si vous avez beaucoup de données, et un groupe équilibré. Pour vous assurer que vous ne courez pas dans ce cas limite, vous pouvez limiter la plage pour ne pas approcher les limites de la plage de jetons Cassandra.
Merci pour votre réponse. C'est vraiment apprécié. – Chaity
Pourriez-vous s'il vous plaît élaborer le cas de bord un peu en détail? – Chaity