You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@asterixdb.apache.org by Riyafa Abdul Hameed <ri...@apache.org> on 2017/07/30 08:22:32 UTC

Aggregate functions again

Dear all,

I want to simply create an aggregate function that for the moment need not
run on a cluster. It only needs to run on a single machine.
I tried the following

   - I created 2 descriptors ScalarSTUnionAggregateDescriptor[1] and
   STUnionAggregateDescriptor[2]
   - Then added those to the BuiltinFunctions[3] and named the scalar
   descriptor as st-union with arity 1 and the other descriptor as
   agg-st-union with arity 1.
   - And added these  functions to the FunctionCollection[4] using the temp
   field

This hasn't worked.

Can someone please guide me with the minimal classes that needs to be
created and the naming conventions that needs to be used?  And where to add
in these classes in BuiltinFunctions and FunctionCollection?

I am asking for help again and again (really begging) because it is the
most unclear task I have been trying to do. If I can finally get this done
I certainly hope to write a comprehensive documentation so that future
*remote* developers won't fall into the same trouble of figuring out "how
to properly write an aggregate function?"

I only want it to work locally at first. Not about distributed settings.
Please help.

Thank you.

Sincerely,

Riyafa

[1]
https://github.com/riyafa/asterixdb/blob/0b1cdd8090fff82026401ce399383965baefd620/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarSTUnionAggregateDescriptor.java

[2]
https://github.com/riyafa/asterixdb/blob/0b1cdd8090fff82026401ce399383965baefd620/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/STUnionAggregateDescriptor.java

[3]
https://github.com/riyafa/asterixdb/blob/0b1cdd8090fff82026401ce399383965baefd620/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java

[4]
https://github.com/riyafa/asterixdb/blob/d99fd65d897cea12e5df5449390238e4a05fa151/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java

Re: Aggregate functions again

Posted by Preston Carman <pr...@apache.org>.
Here is an old commit adding SQL aggregate functions.

https://github.com/apache/asterixdb/commit/789eee2b57f85f47784b4fcc73567afbad67feb1

Is this helpful?

On Tue, Aug 1, 2017 at 9:23 AM, Ahmed Eldawy <el...@cs.ucr.edu> wrote:
> Hi Riyafa,
>
> Can you please clarify what errors you got with your implementation? Is it
> a compilation error or a runtime error? If it is a runtime error, please
> share the query that you are trying to run and what the error is.
>
> Thanks
> Ahmed
>
> On Mon, Jul 31, 2017 at 4:13 AM, Riyafa Abdul Hameed <
> riyafa.12@cse.mrt.ac.lk> wrote:
>
>> Hi all,
>> If someone could at least mention the newest aggregate function created if
>> any that would be of great help. Then I can go through commit history to
>> find implementation details.
>>
>> Thank you.
>> Sincerely,
>> Riyafa
>>
>> On 30 July 2017 at 13:52, Riyafa Abdul Hameed <ri...@apache.org> wrote:
>>
>> > Dear all,
>> >
>> > I want to simply create an aggregate function that for the moment need
>> not
>> > run on a cluster. It only needs to run on a single machine.
>> > I tried the following
>> >
>> >    - I created 2 descriptors ScalarSTUnionAggregateDescriptor[1] and
>> >    STUnionAggregateDescriptor[2]
>> >    - Then added those to the BuiltinFunctions[3] and named the scalar
>> >    descriptor as st-union with arity 1 and the other descriptor as
>> >    agg-st-union with arity 1.
>> >    - And added these  functions to the FunctionCollection[4] using the
>> >    temp field
>> >
>> > This hasn't worked.
>> >
>> > Can someone please guide me with the minimal classes that needs to be
>> > created and the naming conventions that needs to be used?  And where to
>> add
>> > in these classes in BuiltinFunctions and FunctionCollection?
>> >
>> > I am asking for help again and again (really begging) because it is the
>> > most unclear task I have been trying to do. If I can finally get this
>> done
>> > I certainly hope to write a comprehensive documentation so that future
>> > *remote* developers won't fall into the same trouble of figuring out "how
>> > to properly write an aggregate function?"
>> >
>> > I only want it to work locally at first. Not about distributed settings.
>> > Please help.
>> >
>> > Thank you.
>> >
>> > Sincerely,
>> >
>> > Riyafa
>> >
>> > [1] https://github.com/riyafa/asterixdb/blob/
>> > 0b1cdd8090fff82026401ce399383965baefd620/asterixdb/asterix-
>> > runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/
>> > ScalarSTUnionAggregateDescriptor.java
>> >
>> > [2] https://github.com/riyafa/asterixdb/blob/
>> > 0b1cdd8090fff82026401ce399383965baefd620/asterixdb/asterix-
>> > runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/
>> > STUnionAggregateDescriptor.java
>> >
>> > [3]https://github.com/riyafa/asterixdb/blob/
>> 0b1cdd8090fff82026401ce3993839
>> > 65baefd620/asterixdb/asterix-om/src/main/java/org/apache/
>> > asterix/om/functions/BuiltinFunctions.java
>> >
>> > [4] https://github.com/riyafa/asterixdb/blob/
>> > d99fd65d897cea12e5df5449390238e4a05fa151/asterixdb/asterix-
>> > runtime/src/main/java/org/apache/asterix/runtime/
>> > functions/FunctionCollection.java
>> >
>>
>>
>>
>> --
>> Riyafa Abdul Hameed
>> Undergraduate, University of Moratuwa
>>
>> Email: riyafa.12@cse.mrt.ac.lk
>> Website: https://riyafa.wordpress.com/ <http://riyafa.wordpress.com/>
>> <http://facebook.com/riyafa.ahf>  <http://lk.linkedin.com/in/riyafa>
>> <http://twitter.com/Riyafa1>
>>
>
>
>
> --
>
> Ahmed Eldawy
> Assistant Professor
> http://www.cs.ucr.edu/~eldawy
> Tel: +1 (951) 827-5654

Re: Aggregate functions again

Posted by Ahmed Eldawy <el...@cs.ucr.edu>.
Hi Riyafa,

Can you please clarify what errors you got with your implementation? Is it
a compilation error or a runtime error? If it is a runtime error, please
share the query that you are trying to run and what the error is.

Thanks
Ahmed

On Mon, Jul 31, 2017 at 4:13 AM, Riyafa Abdul Hameed <
riyafa.12@cse.mrt.ac.lk> wrote:

> Hi all,
> If someone could at least mention the newest aggregate function created if
> any that would be of great help. Then I can go through commit history to
> find implementation details.
>
> Thank you.
> Sincerely,
> Riyafa
>
> On 30 July 2017 at 13:52, Riyafa Abdul Hameed <ri...@apache.org> wrote:
>
> > Dear all,
> >
> > I want to simply create an aggregate function that for the moment need
> not
> > run on a cluster. It only needs to run on a single machine.
> > I tried the following
> >
> >    - I created 2 descriptors ScalarSTUnionAggregateDescriptor[1] and
> >    STUnionAggregateDescriptor[2]
> >    - Then added those to the BuiltinFunctions[3] and named the scalar
> >    descriptor as st-union with arity 1 and the other descriptor as
> >    agg-st-union with arity 1.
> >    - And added these  functions to the FunctionCollection[4] using the
> >    temp field
> >
> > This hasn't worked.
> >
> > Can someone please guide me with the minimal classes that needs to be
> > created and the naming conventions that needs to be used?  And where to
> add
> > in these classes in BuiltinFunctions and FunctionCollection?
> >
> > I am asking for help again and again (really begging) because it is the
> > most unclear task I have been trying to do. If I can finally get this
> done
> > I certainly hope to write a comprehensive documentation so that future
> > *remote* developers won't fall into the same trouble of figuring out "how
> > to properly write an aggregate function?"
> >
> > I only want it to work locally at first. Not about distributed settings.
> > Please help.
> >
> > Thank you.
> >
> > Sincerely,
> >
> > Riyafa
> >
> > [1] https://github.com/riyafa/asterixdb/blob/
> > 0b1cdd8090fff82026401ce399383965baefd620/asterixdb/asterix-
> > runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/
> > ScalarSTUnionAggregateDescriptor.java
> >
> > [2] https://github.com/riyafa/asterixdb/blob/
> > 0b1cdd8090fff82026401ce399383965baefd620/asterixdb/asterix-
> > runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/
> > STUnionAggregateDescriptor.java
> >
> > [3]https://github.com/riyafa/asterixdb/blob/
> 0b1cdd8090fff82026401ce3993839
> > 65baefd620/asterixdb/asterix-om/src/main/java/org/apache/
> > asterix/om/functions/BuiltinFunctions.java
> >
> > [4] https://github.com/riyafa/asterixdb/blob/
> > d99fd65d897cea12e5df5449390238e4a05fa151/asterixdb/asterix-
> > runtime/src/main/java/org/apache/asterix/runtime/
> > functions/FunctionCollection.java
> >
>
>
>
> --
> Riyafa Abdul Hameed
> Undergraduate, University of Moratuwa
>
> Email: riyafa.12@cse.mrt.ac.lk
> Website: https://riyafa.wordpress.com/ <http://riyafa.wordpress.com/>
> <http://facebook.com/riyafa.ahf>  <http://lk.linkedin.com/in/riyafa>
> <http://twitter.com/Riyafa1>
>



-- 

Ahmed Eldawy
Assistant Professor
http://www.cs.ucr.edu/~eldawy
Tel: +1 (951) 827-5654

Re: Aggregate functions again

Posted by Riyafa Abdul Hameed <ri...@cse.mrt.ac.lk>.
Hi all,
If someone could at least mention the newest aggregate function created if
any that would be of great help. Then I can go through commit history to
find implementation details.

Thank you.
Sincerely,
Riyafa

On 30 July 2017 at 13:52, Riyafa Abdul Hameed <ri...@apache.org> wrote:

> Dear all,
>
> I want to simply create an aggregate function that for the moment need not
> run on a cluster. It only needs to run on a single machine.
> I tried the following
>
>    - I created 2 descriptors ScalarSTUnionAggregateDescriptor[1] and
>    STUnionAggregateDescriptor[2]
>    - Then added those to the BuiltinFunctions[3] and named the scalar
>    descriptor as st-union with arity 1 and the other descriptor as
>    agg-st-union with arity 1.
>    - And added these  functions to the FunctionCollection[4] using the
>    temp field
>
> This hasn't worked.
>
> Can someone please guide me with the minimal classes that needs to be
> created and the naming conventions that needs to be used?  And where to add
> in these classes in BuiltinFunctions and FunctionCollection?
>
> I am asking for help again and again (really begging) because it is the
> most unclear task I have been trying to do. If I can finally get this done
> I certainly hope to write a comprehensive documentation so that future
> *remote* developers won't fall into the same trouble of figuring out "how
> to properly write an aggregate function?"
>
> I only want it to work locally at first. Not about distributed settings.
> Please help.
>
> Thank you.
>
> Sincerely,
>
> Riyafa
>
> [1] https://github.com/riyafa/asterixdb/blob/
> 0b1cdd8090fff82026401ce399383965baefd620/asterixdb/asterix-
> runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/
> ScalarSTUnionAggregateDescriptor.java
>
> [2] https://github.com/riyafa/asterixdb/blob/
> 0b1cdd8090fff82026401ce399383965baefd620/asterixdb/asterix-
> runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/
> STUnionAggregateDescriptor.java
>
> [3]https://github.com/riyafa/asterixdb/blob/0b1cdd8090fff82026401ce3993839
> 65baefd620/asterixdb/asterix-om/src/main/java/org/apache/
> asterix/om/functions/BuiltinFunctions.java
>
> [4] https://github.com/riyafa/asterixdb/blob/
> d99fd65d897cea12e5df5449390238e4a05fa151/asterixdb/asterix-
> runtime/src/main/java/org/apache/asterix/runtime/
> functions/FunctionCollection.java
>



-- 
Riyafa Abdul Hameed
Undergraduate, University of Moratuwa

Email: riyafa.12@cse.mrt.ac.lk
Website: https://riyafa.wordpress.com/ <http://riyafa.wordpress.com/>
<http://facebook.com/riyafa.ahf>  <http://lk.linkedin.com/in/riyafa>
<http://twitter.com/Riyafa1>