Hi Srinath, This has been reviewed with Anjana by the time we were finalizing BAM 2.4.0 M1. Shall I arrange a review with you?
Thanks, Malith On Wed, Aug 14, 2013 at 2:33 PM, Srinath Perera <[email protected]> wrote: > Have we reviewed this? > > > On Wed, Aug 14, 2013 at 1:14 PM, Malith Dhanushka <[email protected]> wrote: > >> Hi Maninda, >> >> Of course, we can add them as set of built-in analyzers and it will >> improve the scope of Hive scripts. >> >> Thanks, >> Malith >> >> >> On Wed, Aug 14, 2013 at 11:55 AM, Maninda Edirisooriya >> <[email protected]>wrote: >> >>> Hi Malith, >>> >>> Nice work. Using this new feature we can implement the requirements I >>> mentioned in the Architecture mail titled "Making BAM more useful platform >>> with well defined Class Analyzers / UDFs". WDYT? >>> >>> * >>> Maninda Edirisooriya* >>> Software Engineer >>> *WSO2, Inc. >>> *lean.enterprise.middleware. >>> >>> *Blog* : http://maninda.blogspot.com/ >>> *Phone* : +94 777603226 >>> >>> >>> On Tue, Aug 13, 2013 at 8:24 PM, Malith Dhanushka <[email protected]>wrote: >>> >>>> Hi all, >>>> >>>> I have modified the implementation according to above description and >>>> following is the modified version, >>>> >>>> - analyzer-config.xml contains the mapping details. >>>> >>>> ex : - >>>> >>>> analyzer-config.xml >>>> >>>> *<analyzerConfig xmlns="http://wso2.org/carbon/analytics">* >>>> * <analyzers>* >>>> * <analyzer>* >>>> * <name>foo</name>* >>>> * >>>> <class>org.wso2.carbon.analytics.hive.extension.builtin.FooAnalyzer</class> >>>> * >>>> * <parameters>bar,bat1,*</parameters>* >>>> * </analyzer>* >>>> * </analyzers>* >>>> *</analyzerConfig>* >>>> >>>> parameter description, >>>> >>>> *name *- alias name which maps to the class analyzer >>>> >>>> *class* - class analyzer >>>> >>>> *parameters* - parameters that are accepted by class analyzer >>>> >>>> - This can be utilized in hive script as follows, >>>> >>>> syntax >>>> >>>> *analyzer foo(bar="value",bar1="value1",*)*; >>>> >>>> Currently there is one built-in analyzer which is resolvePath analyzer >>>> and more will be added by considering other common use cases. >>>> >>>> Thanks, >>>> Malith >>>> >>>> >>>> On Mon, Aug 5, 2013 at 11:36 AM, Anjana Fernando <[email protected]>wrote: >>>> >>>>> On Mon, Aug 5, 2013 at 11:30 AM, Maninda Edirisooriya < >>>>> [email protected]> wrote: >>>>> >>>>>> On Mon, Aug 5, 2013 at 7:58 AM, Malith Dhanushka <[email protected]>wrote: >>>>>> >>>>>>> Hi all, >>>>>>> >>>>>>> Implementation of the above suggested approach is in the final >>>>>>> stage. But I had a minor clarification of the implementation with >>>>>>> Anjana. >>>>>>> There we came across following drawbacks of the implemented approach, >>>>>>> >>>>>>> - Annotation should not be coupled with a class analyzer, rather it >>>>>>> should be a run time property injector to hive scripts. >>>>>>> >>>>>> Then won't the annotation feature will be bounded to Hive language? >>>>>> If so we will not be able to integrate more languages to annotations in >>>>>> future. >>>>>> >>>>> >>>>> It won't be .. the current implementation happens to only support Hive >>>>> at the moment, since that's what we have now. Not coupling with class >>>>> analyzer itself is a sign of that, because a class analyzer is anyway a >>>>> Hive functionality we have. >>>>> >>>>> Cheers, >>>>> Anjana. >>>>> >>>>> >>>>>> >>>>>>> - Abstract Annotation class adds unnecessary complications for user >>>>>>> to write a custom annotation. >>>>>>> >>>>>>> So by considering above information I am going to modify the current >>>>>>> implementation by adhering to those factors. If there any other concerns >>>>>>> and suggestions please feel free to add. >>>>>>> >>>>>>> Thanks, >>>>>>> Malith >>>>>>> >>>>>>> >>>>>>> On Wed, Jul 10, 2013 at 1:26 PM, Malith Dhanushka >>>>>>> <[email protected]>wrote: >>>>>>> >>>>>>>> Hi Maninda, >>>>>>>> >>>>>>>> On Wed, Jul 10, 2013 at 11:37 AM, Maninda Edirisooriya < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> This is nice. Can we use these annotations to unify the languages, >>>>>>>>> Hive and Siddhi? If we can use this annotation framework as a >>>>>>>>> platform to >>>>>>>>> support different languages it will be very useful when it comes to >>>>>>>>> integrating other Hadoop related languages like Mahout and Pig. That >>>>>>>>> means >>>>>>>>> we can separate each language relates script using annotations. This >>>>>>>>> will >>>>>>>>> solve the problem of unifying all the languages into a single >>>>>>>>> language. >>>>>>>>> >>>>>>>> >>>>>>>> Interesting suggestion and yes ,this is gettable via annotations. >>>>>>>> But the only limitation is that the current script implementation is >>>>>>>> only >>>>>>>> available for hive. So in order to achieve language unification via >>>>>>>> annotations firstly we need to have a unified script implementation for >>>>>>>> each underlying engine (ie- Siddhi, Mahout, pig). >>>>>>>> >>>>>>>>> >>>>>>>>> And also using this annotation framework we can create a generic >>>>>>>>> Process Flow model on the data. For example we can execute several >>>>>>>>> Hive >>>>>>>>> scripts in parallel using a annotation block. And a barrier can be >>>>>>>>> introduced if all the parallel scripts should be finished before we >>>>>>>>> move >>>>>>>>> onto the next script and so on. >>>>>>>>> >>>>>>>> >>>>>>>> Yes, this can be added as a built in annotation. >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> Other than that we can provide a default set of class analysers as >>>>>>>>> we have discussed in a previous mail. The value of annotations is >>>>>>>>> that we >>>>>>>>> can provide the available set of class analysers out of the box. Any >>>>>>>>> idea >>>>>>>>> about the syntax? >>>>>>>>> >>>>>>>> >>>>>>>> Each annotation is associated with a particular class analyzer, >>>>>>>> which process the given parameters via the annotation. So we can wrap >>>>>>>> that >>>>>>>> default set of class analyzers and expose them as set of built in >>>>>>>> annotations and can stick to the same syntax as previous, >>>>>>>> >>>>>>>> @script.foo(bar="value", bar1="value1",*) >>>>>>>> >>>>>>>> >>>>>>>>> * >>>>>>>>> Maninda Edirisooriya* >>>>>>>>> Software Engineer >>>>>>>>> *WSO2, Inc. >>>>>>>>> *lean.enterprise.middleware. >>>>>>>>> >>>>>>>>> *Blog* : http://maninda.blogspot.com/ >>>>>>>>> *Phone* : +94 777603226 >>>>>>>>> >>>>>>>>> >>>>>>>>> On Tue, Jul 9, 2013 at 11:23 AM, Malith Dhanushka <[email protected] >>>>>>>>> > wrote: >>>>>>>>> >>>>>>>>>> Hi all, >>>>>>>>>> >>>>>>>>>> I have started implementing the $Subject. The idea of having an >>>>>>>>>> annotation facility is to carryout some pre-processing of Hive >>>>>>>>>> queries >>>>>>>>>> before they are being passed to the Hive engine. Currently we >>>>>>>>>> already have >>>>>>>>>> a "class analyzer" which can be used execute some custom logic as a >>>>>>>>>> part of >>>>>>>>>> a Hive script. But the main use case of annotations is to inject >>>>>>>>>> run-time >>>>>>>>>> properties to Hive execution context before the actual queries are >>>>>>>>>> carried >>>>>>>>>> out by Hive. The annotation facility would be building upon this by >>>>>>>>>> having >>>>>>>>>> set of such common analyzers which can manipulate the Hive queries >>>>>>>>>> or Hive >>>>>>>>>> execution context which it is passed to Hive query engine. >>>>>>>>>> >>>>>>>>>> Annotation Syntax, >>>>>>>>>> >>>>>>>>>> *@script.foo(bar="value", bar1="value1",*)* >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Annotation scheme will be externalized by giving *abstract >>>>>>>>>> implementation of annotation* and *annotation-config.xml* file >>>>>>>>>> to provide the annotation configuration which allows third party >>>>>>>>>> annotations to be included to the system. >>>>>>>>>> >>>>>>>>>> *annotation-config.xml* >>>>>>>>>> >>>>>>>>>> <annotation> >>>>>>>>>> <name>foo</name> >>>>>>>>>> >>>>>>>>>> <class>org.wso2.carbon.analytics.hive.extension.annotation.foo</class> >>>>>>>>>> <analyzer>org.wso2.carbon.analytics.hive.extension.foo</analyzer> >>>>>>>>>> </annotation> >>>>>>>>>> >>>>>>>>>> <annotation> >>>>>>>>>> ................................ >>>>>>>>>> </annotation> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Potential use case for this in incremental data processing where >>>>>>>>>> any query associated with "*@script.incremental(foo="value1", >>>>>>>>>> bar="value2",*)*" would flag and setup the properties those are >>>>>>>>>> required to present in order for that particular query to be >>>>>>>>>> executed in an >>>>>>>>>> incremental manner.There can be many other useful additions as well. >>>>>>>>>> >>>>>>>>>> Any suggestions, thoughts are welcome. >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Malith Dhanushka >>>>>>>>>> >>>>>>>>>> Engineer - Data Technologies >>>>>>>>>> *WSO2, Inc. : wso2.com* >>>>>>>>>> >>>>>>>>>> *Mobile* : +94 716 506 693 >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Architecture mailing list >>>>>>>>>> [email protected] >>>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Architecture mailing list >>>>>>>>> [email protected] >>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Malith Dhanushka >>>>>>>> >>>>>>>> Engineer - Data Technologies >>>>>>>> *WSO2, Inc. : wso2.com* >>>>>>>> >>>>>>>> *Mobile* : +94 716 506 693 >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Malith Dhanushka >>>>>>> >>>>>>> Engineer - Data Technologies >>>>>>> *WSO2, Inc. : wso2.com* >>>>>>> >>>>>>> *Mobile* : +94 716 506 693 >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Architecture mailing list >>>>>>> [email protected] >>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>> >>>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Architecture mailing list >>>>>> [email protected] >>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> *Anjana Fernando* >>>>> Technical Lead >>>>> WSO2 Inc. | http://wso2.com >>>>> lean . enterprise . middleware >>>>> >>>>> _______________________________________________ >>>>> Architecture mailing list >>>>> [email protected] >>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>> >>>>> >>>> >>>> >>>> -- >>>> Malith Dhanushka >>>> >>>> Engineer - Data Technologies >>>> *WSO2, Inc. : wso2.com* >>>> >>>> *Mobile* : +94 716 506 693 >>>> >>>> _______________________________________________ >>>> Architecture mailing list >>>> [email protected] >>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>> >>>> >>> >>> _______________________________________________ >>> Architecture mailing list >>> [email protected] >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> >> -- >> Malith Dhanushka >> >> Engineer - Data Technologies >> *WSO2, Inc. : wso2.com* >> >> *Mobile* : +94 716 506 693 >> >> _______________________________________________ >> Architecture mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > ============================ > Srinath Perera, Ph.D. > http://people.apache.org/~hemapani/ > http://srinathsview.blogspot.com/ > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- Malith Dhanushka Engineer - Data Technologies *WSO2, Inc. : wso2.com* *Mobile* : +94 716 506 693
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
