I would suggest trying to get the attribute level visibilities working - others have used them successfully, and that should be simpler than writing a custom iterator. GeoMesa doesn't have a pluggable way to add iterators - if you want to implement one, the
steps would be:
-
Fork the repo
-
Implement your iterator
-
Extend the code for query handling to check for your custom query hint, and configure your iterator appropriately
-
Bundle your iterator into the geomesa-accumulo-distributed-runtime jar and install it into Accumulo
-
Deploy your custom query handling code to your environment (spark, geoserver, etc)
-
Keep your fork up-to-date with any upstream changes
Thanks,
Emilio Lahr-Vivaz
General Atomics, CCRi
From: Patel, Meet RTX <meet.2.patel@xxxxxxx>
Sent: Tuesday, July 2, 2024 9:25 AM
To: Lahr-Vivaz, Emilio <Emilio.Lahr-Vivaz@xxxxxxxxxxx>
Subject: RE: [geomesa-users] GeoMesa Accumulo Custom Iterator
Thank you for replying.
The goal of the custom iterator is to remove/filter key/value pairs based on the user visibility that we pass in.
I have tried to implement the
attribute level visibilities on geomesa-accumulo 2.12 4.0.1 version however unable to store the attribute with a proper visibility. So, I want to create a GeoMesa custom iterator that will allow key/value filtering on the Accumulo tablet server level and
return only pairs that the user is able to see. I will pass in a Hint from the GeoTools API that will tell the iterator to filter based on the value.
Does this make sense? Is there a better way to process?
Sincerely,
Meet Patel
From: geomesa-users <geomesa-users-bounces@xxxxxxxxxxx>
On Behalf Of Lahr-Vivaz, Emilio via geomesa-users
Sent: Tuesday, July 2, 2024 9:05 AM
To: geomesa-dev@xxxxxxxxxxx; geomesa-users@xxxxxxxxxxx
Cc: Lahr-Vivaz, Emilio <Emilio.Lahr-Vivaz@xxxxxxxxxxx>
Subject: [External] Re: [geomesa-users] GeoMesa Accumulo Custom Iterator
What is your iterator meant to do?
For questions about running Accumulo on k8s, I would ask the Accumulo lists.
WARNING: This message is from an external source. Evaluate the message carefully BEFORE clicking on links or opening attachments.
Hello,
I am looking to create a custom iterator under GeoMesa’s library in Scala. Will this iterator run at Accumulo’s tablet server level? I want to ensure that the processing of the custom iterator runs at the tserver level.
Also, the accumulo database is running on a pod in K8. Is there a way to enable logging? If so how am I able to do that and where am I able to see the logging for custom iterator?
Thanks,
Meet
|