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
