2016-07-20 1 views
1

Quelle est la meilleure façon de trouver la taille d'un prédicat dans les résultats IMap?Taille des résultats de prédicat dans Hazelcast

Il n'y a pas de support de taille directe dans MapProxyImpl.java et size() sera calculé sur la collection retournée qui n'est pas souhaitée dans ce cas.

Avez-vous des recommandations?

Merci.

Répondre

3

Vous êtes probablement à la recherche d'une surcharge IMap::size(Predicate) qui n'est pas encore disponible, de toute façon cela sonne comme une fonctionnalité intéressante. Souhaitez-vous créer une demande de fonctionnalité pour cela? Pour résoudre le problème pour le moment, je suppose que la meilleure solution consiste à utiliser un EntryProcessor, exécutant toutes les clés, en exécutant votre prédicat et en renvoyant 1 ou 0 pour chaque clé et en additionnant le résultat sur l'appelant. Désolé pour ne pas avoir une meilleure solution, mais peut-être quelqu'un d'autre a une idée incroyable :)

+0

Merci Noctarius!. compteur dans mapreduce API comme dans Hadoop également très utile pour cette utilisation. –

+0

a été créé https://github.com/hazelcast/hazelcast/issues/8555. Merci –

+0

Parfait! * thumbs up * – noctarius

1

il y a une réponse sur le billet

Depuis 3.8, vous pouvez utiliser map.aggregate (Aggregators.count());

je ne l'ai pas encore testé