>> I see AVG, LOCAL_AVG, INTERMEDIATE_AVG and GLOBAL_AVG. AVG: that's the local function in the local plan. LOCAL_AVG, INTERMEDIATE_AVG and GLOBAL_AVG: think about distributed computation of average. LOCAL_AVG aggregates the sum/count at the local data source, INTERMEDIATE_AVG aggregates the sum/count over partially aggregated sums/counts, and GLOBAL_AVG computes the final average value from intermediate sums/counts.
Best, Yingyi On Sat, Jul 22, 2017 at 9:43 PM, Riyafa Abdul Hameed < [email protected]> wrote: > Hi, > > Thanks for the explanation. > But there are so many things I still don't understand. One of them is for > the avg function itself there are several FuntionIdentifiers. What do they > all mean? > > I see AVG, LOCAL_AVG, INTERMEDIATE_AVG and GLOBAL_AVG. > > What do they all mean? > Please help > > On 19 July 2017 at 21:56, Yingyi Bu <[email protected]> wrote: > > > Hi Riyafa, > > > > >> ScalarCountAggregateDescriptor > > It's used for counting a scalar array that appears inside a tuple. > > For example: > > SELECT u.id, array_count(u.friends) > > FROM users u; > > > > >> SerializableCountAggregateDescriptor > > Serialized aggregation descriptor implementations are only used in > > hash-based group-by. > > For example: > > SELECT u.city, count(*) > > FROM users u > > /*+ hash */ > > GROUP BY u.city; > > > > If your aggregation function doesn't have a fixed-byte-sized state, you > > don't need to worry about that or implement that. > > > > >> CountAggregateDescriptor > > This is used in group-by or global aggregate: > > For example: > > SELECT u.city, count(*) > > FROM users u > > GROUP BY u.city; > > > > SELECT count(*) FROM users; > > > > > > Best, > > Yingyi > > > > > > On Wed, Jul 19, 2017 at 7:55 AM, Riyafa Abdul Hameed <[email protected]> > > wrote: > > > > > Hi again, > > > > > > Any suggestions on this? Or anyone I can reach to who are not on this > > list > > > or not active on the list? > > > > > > Thank you. > > > > > > On 17 July 2017 at 17:18, Riyafa Abdul Hameed <[email protected]> > wrote: > > > > > > > Hi again, > > > > > > > > I think I can understand how to write the descriptor in the packages: > > > > org.apache.asterix.runtime.aggregates.std and > > > org.apache.asterix.runtime.aggregates.scalar. > > > > But I am not sure I understand how to write the descriptor in the > > > package: > > > > org.apache.asterix.runtime.aggregates.serializable.std because it > > > > requires setting a state in the init function that doesn't seem to > > have a > > > > pattern in the other descriptors. > > > > Also I don't seem to understand the reasons for implementing each of > > > these > > > > descriptors for the aggregate functions. > > > > > > > > On 17 July 2017 at 16:56, Riyafa Abdul Hameed < > [email protected] > > > > > > > wrote: > > > > > > > >> Hi all, > > > >> > > > >> I meant any explanation on the implementation of aggregate functions > > in > > > >> AsterixDB would be highly appreciated. > > > >> > > > >> Thank you. > > > >> Yours sincerely, > > > >> Riyafa > > > >> > > > >> On 16 July 2017 at 08:01, Riyafa Abdul Hameed <[email protected]> > > > wrote: > > > >> > > > >>> Dear all, > > > >>> > > > >>> I am trying to create aggregate functions and I see there are more > > than > > > >>> one function descriptors for one single function. > > > >>> For example the function array_count(collection) has the following > > > >>> descriptors: > > > >>> > > > >>> > > > >>> - ScalarCountAggregateDescriptor > > > >>> - SerializableCountAggregateDescriptor > > > >>> - CountAggregateDescriptor > > > >>> > > > >>> I am not sure I understand the difference between each of this. Can > > you > > > >>> please provide and example or point me to a documentation entry to > > > learn > > > >>> how to properly implement aggregate functions? > > > >>> > > > >>> The function I am trying to implement is ST_Extent. > > > >>> <https://postgis.net/docs/manual-1.4/ST_Extent.html> > > > >>> > > > >>> Thank you. > > > >>> > > > >>> Yours sincerely, > > > >>> > > > >>> Riyafa > > > >>> > > > >> > > > >> > > > >> > > > >> -- > > > >> Riyafa Abdul Hameed > > > >> Undergraduate, University of Moratuwa > > > >> > > > >> Email: [email protected] > > > >> Website: https://riyafa.wordpress.com/ < > http://riyafa.wordpress.com/> > > > >> <http://facebook.com/riyafa.ahf> <http://lk.linkedin.com/in/riyafa > > > > > >> <http://twitter.com/Riyafa1> > > > >> > > > > > > > > > > > > > > > > > -- > Riyafa Abdul Hameed > Undergraduate, University of Moratuwa > > Email: [email protected] > Website: https://riyafa.wordpress.com/ <http://riyafa.wordpress.com/> > <http://facebook.com/riyafa.ahf> <http://lk.linkedin.com/in/riyafa> > <http://twitter.com/Riyafa1> >
