2016-07-20 19 views
1

Wie lässt sich die Größe eines Prädikats in hazelcast IMap am besten ermitteln?Größe des Prädikats Ergebnisse in Hazelcast

Es gibt keine direkte Größenunterstützung in MapProxyImpl.java und size() wird für zurückgegebene Sammlung berechnet, was in diesem Fall unerwünscht ist.

Haben Sie Empfehlungen?

Danke.

Antwort

3

Sie suchen wahrscheinlich nach einer IMap::size(Predicate) Überladung, die noch nicht verfügbar ist, jedenfalls klingt es wie eine nette Funktion. Möchten Sie eine Feature-Anfrage dafür erstellen?

Um das Problem im Moment zu lösen, denke ich, die beste Problemumgehung ist die Verwendung eines EntryProcessors, der gegen alle Tasten läuft, im Grunde Ihr Prädikat ausführen und 1 oder 0 für jede Taste zurückgeben und das Ergebnis einfach auf den Aufrufer summieren. Es tut uns nicht eine bessere Lösung haben, aber vielleicht jemand anderes hat eine erstaunliche Idee :)

+0

Dank Noctarius!. Counter in mapreduce API wie in Hadoop auch sehr nützlich für diesen Anwendungsfall. –

+0

erstellt https://github.com/hazelcast/hazelcast/issues/8555. Danke –

+0

Perfekt! * Daumen hoch * – noctarius

1

gibt es eine Antwort auf dem Ticket

Seit 3.8 Sie map.aggregate (Aggregators.count()) verwenden können;

ich habe es noch nicht getestet