Hazelcast Aggregation Query

Hazelcast is a distributed in memory data grid (IMDG) that provides a powerful set of features and APIs to support aggregated queries. The following are several common aggregation queries supported by Hazelcast: 1. Count: Used to calculate the number of records that meet specific conditions. Example: IMap<String, Person> map = hz.getMap("people"); long count = map.aggregate(Aggregators.count()); 2. Sum: Used to calculate the sum of the specified fields. Example: IMap<String, Integer> map = hz.getMap("sales"); int sum = map.aggregate(Aggregators.integerSum("amount")); 3. Average: Used to calculate the average value of a specified field. Example: IMap<String, Double> map = hz.getMap("scores"); double average = map.aggregate(Aggregators.doubleAvg("score")); 4. Min/Max: Used to find the minimum or maximum value of the specified field. Example: IMap<String, Integer> map = hz.getMap("grades"); int min = map.aggregate(Aggregators.integerMin("score")); int max = map.aggregate(Aggregators.integerMax("score")); 5. Group By: Used to group and perform statistics based on specified fields. Example: IMap<Integer, Person> map = hz.getMap("people"); Map<String, Integer> ageCount = map.aggregate(Aggregators.groupBy("age", Aggregators.count())); 6. Top N (take the top N records): used to query the top N records that meet specific conditions. Example: IMap<String, Integer> map = hz.getMap("scores"); List<Map.Entry<String, Integer>> top5 = map.entrySet() .stream() .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder())) .limit(5) .collect(Collectors.toList()); In the above example, we assume the existence of the following table structure and sample data: Table name: people |Id | name | age| |----|-------|-----| |1 | Alice | 25| |2 | Bob | 30| |3 | Carol | 25| Table name: sales |ID | amount| |----|--------| |1 | 100| |2 | 200| |3 | 300| Table name: scores |Id | score| |----|-------| |1 | 80| |2 | 90| |3 | 95| Table name: grades |Id | score| |----|-------| |1 | 80| |2 | 90| |3 | 95| Please implement an aggregation query based on the above example.