Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [geowave-dev] GSOC 2015-GeoWave Monitor: Map-Based Accumulo Status and Health

Hi Whitney,

I implemented the code to find a convex hull based on the tablet key ranges. But as you said, it is complex method and time consume we have to use mapreduce. Will you guide me how to do that and further improvement?

And also meanwhile i'll try to improve Unit testing for the implemented codes.

Thanks and Regards,


Rukshan Chathuranga.
Department Of Computer Science & Engineering,
Faculty Of Engineering,
University Of Moratuwa. Sri Lanka.

On Tue, Jul 21, 2015 at 10:11 PM, Whitney O'Meara <james.w.omeara@xxxxxxxxx> wrote:
To move onto the next part, you need to first use the ranges that you calculated to query the *_SPATIAL_VECTOR_IDX table.  This is just going to be a scan of the table using an Accumulo WholeRowIterator.  Each Key/Value pair that you receive can be decoded into a SimpleFeature using the decodeRow method from the AccumuloUtils class in GeoWave.  From the SimpleFeatures, you can extract the default geometry.  Using the default geometry, you can calculate the convex hull using the JTS ConvexHull class. 

Does that make sense?

On Tue, Jul 21, 2015 at 11:55 AM, Rukshan Chathuranga <rcrukshan17@xxxxxxxxx> wrote:
Hi Whitney,

i write a code to extract the range[1] of each tablet and expose Stat as REST service. To move to next part, can you explain me briefly how to generate convex hull using these range?


Thanks and Regards.


Rukshan Chathuranga.
Department Of Computer Science & Engineering,
Faculty Of Engineering,
University Of Moratuwa. Sri Lanka.

On Thu, Jul 16, 2015 at 11:07 PM, Whitney O'Meara <james.w.omeara@xxxxxxxxx> wrote:
So, using the listSplits operation, you get an array of Text objects.  This doesn't give you the full range of each tablet, but it does tell you where they split. 

Once you have the Accumulo Keys corresponding to each of the splits, it should be very easy to create your ranges. 

For starters, scanning the table for the first key is a valid idea, but it concerns me to hear that you had an exception during a scan...  That doesn't sound right. 

The easier way would be to use the Accumulo Range class.  Check out this method, and pay particular attention to the parameter descriptions: http://accumulo.apache.org/1.4/apidocs/org/apache/accumulo/core/data/Range.html#Range%28org.apache.accumulo.core.data.Key,%20org.apache.accumulo.core.data.Key%29

Let me know if that helps!


On Thu, Jul 16, 2015 at 1:12 PM, Rukshan Chathuranga <rcrukshan17@xxxxxxxxx> wrote:
Hi Whitney,

Since listSplit() method give me starting row of tablet, i cannot find row that reside in first tablet. i tried with scanner and get first record to find it's range. but it gave me an exception.  

second part is still bit confuse me. but first i try to get the first tablet range while try to understanding second part. then i let you know.

Thanks and Regards.


Rukshan Chathuranga.
Department Of Computer Science & Engineering,
Faculty Of Engineering,
University Of Moratuwa. Sri Lanka.

On Thu, Jul 16, 2015 at 10:22 PM, Whitney O'Meara <james.w.omeara@xxxxxxxxx> wrote:
First off, you definitely should be able to get the range of the first tablet.  What is the issue there?

Second, What I'm saying is that you should query whatever table you're interested in displaying stats for using the ranges that you have generated.  The query will give you the entries that have been ingested by the user(s) for that tablet.  You can then use the SimpleFeatures that are returned to calculate a bounding area. 

Does that make sense?

On Thu, Jul 16, 2015 at 12:42 PM, Rukshan Chathuranga <rcrukshan17@xxxxxxxxx> wrote:
Hi Whitney,

what do you mean by "query the GeoWave namespace/table" . i write a code to get the range of tablets(but not first tablet). can you please explain this?

Thanks and Regards.


Rukshan Chathuranga.
Department Of Computer Science & Engineering,
Faculty Of Engineering,
University Of Moratuwa. Sri Lanka.

On Fri, Jul 10, 2015 at 10:53 PM, Whitney O'Meara <james.w.omeara@xxxxxxxxx> wrote:
Go ahead and move on to task 2.  I don't want to be a blocker for you. 

I'll try to check your code out sometime this weekend and provide feedback. 

On Fri, Jul 10, 2015 at 12:10 PM, Rukshan Chathuranga <rcrukshan17@xxxxxxxxx> wrote:
Hi Whitney,

I implemented Test cases for Table[1] and Tablet[2] stats. Also i implement rest services[3][4] for them as well. Can you review it and let me know whether can i moved to task 2.


Thanks and Regards.



Rukshan Chathuranga.
Department Of Computer Science & Engineering,
Faculty Of Engineering,
University Of Moratuwa. Sri Lanka.

On Wed, Jul 8, 2015 at 8:55 PM, Whitney O'Meara <james.w.omeara@xxxxxxxxx> wrote:
Look into MiniAccumuloCluster.  You can (and should) use that to setup an accumulo cluster with geowave for unit tests. 

On Wed, Jul 8, 2015 at 11:11 AM, Rukshan Chathuranga <rcrukshan17@xxxxxxxxx> wrote:
Hi Whitney,

i implement two test case for each Tablet[1] and Table[2] Stat classed. Can you review and let me know, what should i improve?

Since Accumulo Statistics are changed with time, it is difficult to define constant values to assert them. Also is there any way to automatically start Geowave with test cases. I used the GeoWaveDemoApp.java, but it seems it does not start as expected.




Thanks and Regards.













Back to the top