Method Aggregate
Aggregate(IValueExtractor, IAggregator, IKeyFilter, QueryCommand, Int32)
Built upon MapReduce framework, processes distributed data records to return compiled and statistical results for analytical purposes.
Declaration
[Obsolete("This feature is not in active development and may be removed in a future update.")]
object Aggregate(IValueExtractor extractor, IAggregator aggregator, IKeyFilter keyFilter = null, QueryCommand queryCommand = null, int timeout = 2147483647)
Parameters
Type | Name | Description |
---|---|---|
IValueExtractor | extractor | Implementation of IValueExtractor to extract the meaningful attributes from given objects. |
IAggregator | aggregator | IAggregator For actual grouping and analytical operations on given data using Map Reduce Combiner and Reducer. |
IKeyFilter | keyFilter | Instance of IKeyFilter implementation. |
QueryCommand | queryCommand | Instance of QueryCommand containing query and values. |
System.Int32 | timeout | Time in millisecond in which if result is not returned, thread will be terminated and exception or null will be given. |
Returns
Type | Description |
---|---|
System.Object | Returns a single result depending upon given extractor. |
Examples
ICache cache = CacheManager.GetCache("demoClusteredCache");
string key1 = "2202";
Product product1 = new Product()
{
Id = 4,
Category = "Clothes",
UnitPrice = 4,
UnitsAvailable = 2
};
string key2 = "2203";
Product product2 = new Product()
{
Id = 4,
Category = "Shoes",
UnitPrice = 5,
UnitsAvailable = 9
};
cache.Add(key1, product1);
cache.Add(key2, product2);
string query = "SELECT Alachisoft.NCache.Sample.Data.Product WHERE this.Category=?";
QueryCommand queryCommand = new QueryCommand(query);
queryCommand.Parameters.Add("Category", "Clothes");
object result = cache.ExecutionService.Aggregate(new BasicTypeExtractor(), BuiltInAggregator.Count(), null, queryCommand, 50000);