From 8ae6b574a3fe41eae5afbc20ccff23a53bc11aee Mon Sep 17 00:00:00 2001 From: Edward Samson Date: Wed, 21 Oct 2015 09:54:31 +0800 Subject: [PATCH] Minor grammar fix to FAQ Missing subject. --- docs/documentation/FAQ.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/FAQ.md b/docs/documentation/FAQ.md index a69862e2d8c..90222d1c802 100644 --- a/docs/documentation/FAQ.md +++ b/docs/documentation/FAQ.md @@ -112,7 +112,7 @@ You can't change the overall batch size once generated, but you can change the n ### How do I aggregate events by time? -If have records with an immutable timestamp, and you would like to count, average or otherwise aggregate them into discrete time buckets, Trident is an excellent and scalable solution. +If you have records with an immutable timestamp, and you would like to count, average or otherwise aggregate them into discrete time buckets, Trident is an excellent and scalable solution. Write an `Each` function that turns the timestamp into a time bucket: if the bucket size was "by hour", then the timestamp `2013-08-08 12:34:56` would be mapped to the `2013-08-08 12:00:00` time bucket, and so would everything else in the twelve o'clock hour. Then group on that timebucket and use a grouped persistentAggregate. The persistentAggregate uses a local cacheMap backed by a data store. Groups with many records require very few reads from the data store, and use efficient bulk reads and writes; as long as your data feed is relatively prompt Trident will make very efficient use of memory and network. Even if a server drops off line for a day, then delivers that full day's worth of data in a rush, the old results will be calmly retrieved and updated -- and without interfering with calculating the current results.