Search code examples
databasebigdatageotoolsaccumulogeomesa

GeoMesa Accumulo custom iterator


I want to create a custom iterator and utilize it using GeoTools API.

Currently, I am retrieving data using DataStore and SimpleFeatures objects and trying to find a way to call a custom iterator I have created.

I have pushed a jar file that contains the custom iterator in geomesa-accumulo pod in the classpath. However, I cannot find how to call the custom iterator using the GeoTools library.

The goal is to move processing at the tablet level and I am doing that by creating a custom iterator. However, I cannot find a way (programmatically) to call or invoke the iterators using GeoTools API.

Tech Stack:

Accumulo 2.1.0

GeoMesa tools 4.0.1

Java custom client

https://www.geomesa.org/documentation/stable/_images/sampleQueryArch.png

I stored the jar file in the accumulo pod, but not sure how to reference or call the iterator. Is this through some configuration or is this done programmatically?


Solution

  • The GeoMesa GeoTools-to-Accumulo-iterator integration is based on custom query hints, which are used to configure Accumulo iterators at scan time. Adding a new iterator would require writing code to configure it. If the iterator would be generally useful to others, please consider contributing it to GeoMesa! (vs writing a custom fork)

    However, if your iterator does not depend on query-time configuration, you could configure it to run on every query as a scan-scope iterator through the Accumulo shell.