Hi Gayan and Dimuthu, I have solved the issue. In the above script I mistakenly defined all the columns as primary keys in the table "commit_test1". That was the issue. Now I've corrected it and its working as I expected.
Thanks. Mahendran Pirinthapan Software Engineer | WSO2 Inc. Mobile +94772378732. On Tue, Sep 16, 2014 at 10:55 PM, Gayan Dhanushka <gay...@wso2.com> wrote: > Hi Pirinthapan, > > I can see that you have tried to group by the relavant fields which is > correct. I am not sure whether you have tried to group by later on after > running the hive script at least once. Otherwise it is just basic sql and > it should work. > > You can try dropping the hive intermediate hive table by running "drop > table AppCommits" as a query in BAM. Run the aforesaid hive script again > and see the result. > > Regards > Gayan > > On Tue, Sep 16, 2014 at 6:52 PM, Pirinthapan Mahendran < > pirintha...@wso2.com> wrote: > >> Hi Gayan, >> >> I have written the following hive script to collect the data from >> Cassandra. >> >> CREATE EXTERNAL TABLE IF NOT EXISTS AppCommit(row_id STRING, >> applicationKey STRING, tenantDomain STRING, user STRING, revision >> STRING, timeSt BIGINT) >> STORED BY 'org.apache.hadoop.hive.cassandra.CassandraStorageHandler' with >> SERDEPROPERTIES("wso2.carbon.datasource.name" = >> "WSO2BAM_CASSANDRA_DATASOURCE", >> "cassandra.cf.name" = "org_wso2_carbon_appfactory_appCommit" , >> "cassandra.columns.mapping" = ":key, payload_appKey, >> payload_tenantDomain, payload_user, payload_revision, Timestamp"); >> >> >> CREATE EXTERNAL TABLE IF NOT EXISTS commit_test1 (TENANT_DOMAIN STRING, >> APPLICATION_KEY STRING, DAY STRING, COMMITS BIGINT) STORED BY >> 'org.wso2.carbon.hadoop.hive.jdbc.storage.JDBCStorageHandler' TBLPROPERTIES >> ( 'mapred.jdbc.driver.class' = 'com.mysql.jdbc.Driver' , ' >> wso2.carbon.datasource.name'='WSO2_AF_STAT_DB','hive.jdbc.update.on.duplicate' >> = 'true', 'hive.jdbc.primary.key.fields' = >> 'TENANT_DOMAIN,APPLICATION_KEY,DAY,COMMITS', 'hive.jdbc.table.create.query' >> = 'CREATE TABLE commit_test1(APPLICATION_KEY VARCHAR(100), TENANT_DOMAIN >> VARCHAR(100), DAY VARCHAR(100), COMMITS BIGINT)'); >> >> >> INSERT OVERWRITE TABLE commit_test1 >> SELECT rslt.tenantDomain, rslt.applicationKey, rslt.day, >> count(rslt.applicationKey) as COMMITS FROM(SELECT tenantDomain, >> applicationKey, day(from_unixtime(cast(timest/1000 as BIGINT),'yyyy-MM-dd >> HH:mm:ss.SSS' )) day FROM AppCommit WHERE (UNIX_TIMESTAMP() - >> cast(timest/1000 as BIGINT)) < 1209600) rslt GROUP BY rslt.tenantDomain, >> rslt.applicationKey, rslt.day; >> >> >> when I execute this script it insert the following data to mysql >> database. >> >> >> >> In the above table when the commit number increases, the new data is >> appended to the table as in the last four rows. But my requirement is to >> have only one entry for each combination of APPLICATION_KEY, TENANT_DOMAIN >> and DAY. >> >> So could you please tell me whether there are any methods to do this >> using Hive? >> >> Thanks. >> >> >> >> Mahendran Pirinthapan >> Software Engineer | WSO2 Inc. >> Mobile +94772378732. >> >> On Mon, Sep 15, 2014 at 10:05 PM, Pirinthapan Mahendran < >> pirintha...@wso2.com> wrote: >> >>> Thanks Gayan. Now its working. >>> >>> >>> >>> Mahendran Pirinthapan >>> Software Engineer | WSO2 Inc. >>> Mobile +94772378732. >>> >>> On Mon, Sep 15, 2014 at 9:40 PM, Gayan Dhanushka <gay...@wso2.com> >>> wrote: >>> >>>> Hi Pirinthapan, >>>> >>>> What you have done is correct. But in order to publish commit details >>>> to BAM from the gitblit server you need to enable data publishing in the >>>> gitblit server. >>>> >>>> Please locate and open the gitblit.properties file resides within >>>> <GITBLIT_HOME>/data folder. There is a property at the bottom called >>>> "publishToBAM". You need to assign true to this property and restart the >>>> server. >>>> >>>> This should solve your problem. >>>> >>>> Thanks >>>> Gayan >>>> >>>> >>>> On Mon, Sep 15, 2014 at 9:25 PM, Pirinthapan Mahendran < >>>> pirintha...@wso2.com> wrote: >>>> >>>>> Hi Gayan, >>>>> >>>>> Now I'm writing Hive script to collect the necessary commit data from >>>>> Cassandra to MYSQL. Before I started to write this I tested the existing >>>>> hive script with the name "AppCommits" in BAM server. For this I did >>>>> the following steps: >>>>> >>>>> 1. I created an application in App Factory. >>>>> 2. Cloned the application to my PC. >>>>> 3. Made some changes and did some commits. >>>>> 4. Then I accessed the GitBlit server in the browser. It shows all the >>>>> commit details. >>>>> 5. Then I executed the hive script "AppCommits" from BAM management >>>>> console. >>>>> 6. Then I checked the mysql database. The table "APP_COMMITS" is >>>>> there. >>>>> 7. But when I did some queries from that table, it returns empty set. >>>>> >>>>> According to my understanding whenever a commit happens the commit >>>>> data will be published to the BAM server by the script [1]. >>>>> >>>>> Could you please make me clear about whether my understandings and the >>>>> procedures, I did, are correct. If those are correct could you please help >>>>> me to find out, why the data is not in mysql. >>>>> >>>>> 1. >>>>> https://svn.wso2.org/repos/wso2/scratch/appfactory_2.0.0/products/appfactory/2.0.1/vmware/appfactory_deployment_s4/resources/configs/jenkins.groovy >>>>> >>>>> Thanks. >>>>> >>>>> >>>>> >>>>> Mahendran Pirinthapan >>>>> Software Engineer | WSO2 Inc. >>>>> Mobile +94772378732. >>>>> >>>>> On Thu, Sep 11, 2014 at 1:21 PM, Iqbal Irham <iq...@wso2.com> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> Update on the project below. >>>>>> >>>>>> We have showed the hardcoded diagrams(bar chart for commit logs and >>>>>> pie chat for build statistics) to Dimuthu and Ajanthan and got their >>>>>> feedback. >>>>>> >>>>>> According to that, >>>>>> >>>>>> 1. Application dashboard will have commit logs bar chart with >>>>>> last 2 week data. >>>>>> 2. Detail page will have a detail bar chart for commit logs and a >>>>>> pie chart for build statistics. >>>>>> 3. Both graphs will have options to choose the time period of the >>>>>> graph. >>>>>> 4. Detail page bar chart will have zooming option to get the >>>>>> accurate value of the column. >>>>>> >>>>>> >>>>>> Thanks, >>>>>> >>>>>> On Tue, Sep 9, 2014 at 6:05 PM, Vimalanathan Rajeevan < >>>>>> rajeev...@wso2.com> wrote: >>>>>> >>>>>>> Hi Pirinthapan, >>>>>>> >>>>>>> I would like to give some feedbacks on your design, >>>>>>> [1] Giving boarders for each graphs and tables >>>>>>> [2] You can increase the font size for headings (ex. "Build >>>>>>> Statistics", "Weekly commit logs") >>>>>>> [3] Bring the contents of browser to central position without align >>>>>>> it to left [1] >>>>>>> [4] Give some spaces at top before starting contents >>>>>>> [4] You can use more attractive 3D graph designing tools >>>>>>> >>>>>>> Best Regards, >>>>>>> V.Rajeevan >>>>>>> Software Engineer, >>>>>>> WSO2 Inc. :http://wso2.com >>>>>>> >>>>>>> Mobile : +94 773090875 >>>>>>> Email : rajeev...@wso2.com >>>>>>> >>>>>>> On Sat, Sep 6, 2014 at 1:04 PM, Pirinthapan Mahendran < >>>>>>> pirintha...@wso2.com> wrote: >>>>>>> >>>>>>>> Hi All, >>>>>>>> >>>>>>>> We have come up with a mockup design for showing the 'commit logs >>>>>>>> statistics' [1] and 'build statistics' [2] in App Factory. We would >>>>>>>> like to >>>>>>>> have your feed backs on these designs. >>>>>>>> >>>>>>>> 1. >>>>>>>> https://www.justinmind.com/usernote/tests/12597285/12597288/12597302/index.html#/screens/d12245cc-1680-458d-89dd-4f0d7fb22724 >>>>>>>> >>>>>>>> 2. >>>>>>>> https://www.justinmind.com/usernote/tests/12597285/12597288/12597486/index.html#/screens/d12245cc-1680-458d-89dd-4f0d7fb22724 >>>>>>>> >>>>>>>> Thanks. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Mahendran Pirinthapan >>>>>>>> Software Engineer | WSO2 Inc. >>>>>>>> Mobile +94772378732. >>>>>>>> >>>>>>>> >>>>>>>> On Fri, Sep 5, 2014 at 9:38 AM, Gayan Dhanushka <gay...@wso2.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hi Iqbal, >>>>>>>>> >>>>>>>>> Currently we have START, SUCCESS and FAIL status. If you closely >>>>>>>>> have a look you can see that *appBuildStream *is a private >>>>>>>>> variable which defines a data stream, not a method. For each of these >>>>>>>>> data >>>>>>>>> stream definitions, there are publish methods in the >>>>>>>>> BamDataPublisher.java >>>>>>>>> class. >>>>>>>>> >>>>>>>>> Thanks >>>>>>>>> Gayan >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Sep 4, 2014 at 2:22 PM, Iqbal Irham <iq...@wso2.com> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hi Gayan, >>>>>>>>>> >>>>>>>>>> Thank you very much for the reply. >>>>>>>>>> We are in the process of identifying the Build statuses which we >>>>>>>>>> are going to get from BAM. >>>>>>>>>> In the java code(BamDataPublisher.java) i found a method >>>>>>>>>> *appBuildStream.* >>>>>>>>>> As i highlighted below there is a String for Status. >>>>>>>>>> Please help us to find out what are the status values(i.e >>>>>>>>>> success,fail,Pending,Aborted) it's publishing. >>>>>>>>>> >>>>>>>>>> 'payloadData':["+ >>>>>>>>>> " {'name':'applicationName','type':'string'},"+ >>>>>>>>>> " {'name':'applicationKey','type':'string'},"+ >>>>>>>>>> " {'name':'applicationVersion','type':'string'},"+ >>>>>>>>>> " {'name':'timeStamp','type':'double'},"+ >>>>>>>>>> " {'name':'tenantId', 'type':'string'},"+ >>>>>>>>>> " *{'name':'status', 'type':'string'}*,"+ >>>>>>>>>> " {'name':'buildId', 'type':'string'},"+ >>>>>>>>>> " {'name':'revision', 'type':'string'},"+ >>>>>>>>>> " {'name':'user', 'type':'string' }"+ >>>>>>>>>> " ]; >>>>>>>>>> >>>>>>>>>> Thanks >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Thu, Sep 4, 2014 at 1:57 PM, Gayan Dhanushka <gay...@wso2.com> >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Pirinthapan, >>>>>>>>>>> >>>>>>>>>>> I believe you want to visualize the number of builds and commits >>>>>>>>>>> in the per each day inside an application in App Factory. For this >>>>>>>>>>> we >>>>>>>>>>> already collect the build and commit data. We collect the build data >>>>>>>>>>> through App Factory and commits data through a git post commit hook >>>>>>>>>>> [1]. >>>>>>>>>>> Please note that we have multiple activity points in App Factory >>>>>>>>>>> from where >>>>>>>>>>> the events are published to BAM. So the data that you are looking >>>>>>>>>>> for is >>>>>>>>>>> already being published. >>>>>>>>>>> >>>>>>>>>>> [1] >>>>>>>>>>> https://svn.wso2.org/repos/wso2/scratch/appfactory_2.0.0/products/appfactory/2.0.1/vmware/appfactory_deployment_s4/resources/configs/jenkins.groovy >>>>>>>>>>> >>>>>>>>>>> Regards >>>>>>>>>>> Gayan >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Thu, Sep 4, 2014 at 11:11 AM, Pirinthapan Mahendran < >>>>>>>>>>> pirintha...@wso2.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi Gayan, >>>>>>>>>>>> >>>>>>>>>>>> We went through the 'BamDataPublisher' class [1]. In this class >>>>>>>>>>>> the publish events are available for App creation, App version, >>>>>>>>>>>> Tenant >>>>>>>>>>>> user, App user, App issue and App build. But we need the data for >>>>>>>>>>>> 'Commit >>>>>>>>>>>> logs' as well. So do we need to create an event to publish these >>>>>>>>>>>> commit >>>>>>>>>>>> logs? >>>>>>>>>>>> >>>>>>>>>>>> 1. >>>>>>>>>>>> https://svn.wso2.org/repos/wso2/scratch/appfactory_2.0.0/components/appfac/org.wso2.carbon.appfactory.bam.integration/2.0.1/src/main/java/org/wso2/carbon/appfactory/bam/integration/BamDataPublisher.java >>>>>>>>>>>> >>>>>>>>>>>> Thanks. >>>>>>>>>>>> >>>>>>>>>>>> Mahendran Pirinthapan >>>>>>>>>>>> Software Engineer | WSO2 Inc. >>>>>>>>>>>> Mobile +94772378732. >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Gayan Dhanuska >>>>>>>>>>> Software Engineer >>>>>>>>>>> http://wso2.com/ >>>>>>>>>>> Lean Enterprise Middleware >>>>>>>>>>> >>>>>>>>>>> Mobile >>>>>>>>>>> 071 666 2327 >>>>>>>>>>> >>>>>>>>>>> Office >>>>>>>>>>> Tel : 94 11 214 5345 >>>>>>>>>>> Fax : 94 11 214 5300 >>>>>>>>>>> >>>>>>>>>>> Twitter : https://twitter.com/gayanlggd >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Irham Iqbal >>>>>>>>>> Software Engineer - Test Automation >>>>>>>>>> WSO2, Inc.: http://wso2.com >>>>>>>>>> lean. enterprise. middleware >>>>>>>>>> phone: +94 777888452 >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Gayan Dhanuska >>>>>>>>> Software Engineer >>>>>>>>> http://wso2.com/ >>>>>>>>> Lean Enterprise Middleware >>>>>>>>> >>>>>>>>> Mobile >>>>>>>>> 071 666 2327 >>>>>>>>> >>>>>>>>> Office >>>>>>>>> Tel : 94 11 214 5345 >>>>>>>>> Fax : 94 11 214 5300 >>>>>>>>> >>>>>>>>> Twitter : https://twitter.com/gayanlggd >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Dev mailing list >>>>>>>> Dev@wso2.org >>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Dev mailing list >>>>>>> Dev@wso2.org >>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Irham Iqbal >>>>>> Software Engineer - Test Automation >>>>>> WSO2, Inc.: http://wso2.com >>>>>> lean. enterprise. middleware >>>>>> phone: +94 777888452 >>>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> Gayan Dhanuska >>>> Software Engineer >>>> http://wso2.com/ >>>> Lean Enterprise Middleware >>>> >>>> Mobile >>>> 071 666 2327 >>>> >>>> Office >>>> Tel : 94 11 214 5345 >>>> Fax : 94 11 214 5300 >>>> >>>> Twitter : https://twitter.com/gayanlggd >>>> >>> >>> >> > > > -- > Gayan Dhanuska > Software Engineer > http://wso2.com/ > Lean Enterprise Middleware > > Mobile > 071 666 2327 > > Office > Tel : 94 11 214 5345 > Fax : 94 11 214 5300 > > Twitter : https://twitter.com/gayanlggd >
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev