21.2. Using the Kudu Data Store Programmatically

21.2.1. Creating a Data Store

An instance of a Kudu data store can be obtained through the normal GeoTools discovery methods, assuming that the GeoMesa code is on the classpath.

Map<String, Serializable> parameters = new HashMap<>();
parameters.put("kudu.master", "localhost");
parameters.put("kudu.catalog", "geomesa");
org.geotools.data.DataStore dataStore =
    org.geotools.data.DataStoreFinder.getDataStore(parameters);

21.2.2. Kudu Data Store Parameters

The data store takes several parameters (required parameters are marked with *):

Parameter

Type

Description

kudu.master *

String

The host name of the Kudu master server

kudu.catalog *

String

The name of the GeoMesa catalog table

kudu.credentials

String

Kudu client authentication credentials

kudu.worker.threads

String

Number of worker threads used by the Kudu connection

kudu.boss.threads

String

Number of boss threads used by the Kudu connection

kudu.client.stats.disable

Boolean

Disable Kudu client statistics

geomesa.security.auths

String

Comma-delimited superset of authorizations that will be used for queries

geomesa.query.audit

Boolean

Audit queries being run. Queries will be written to a log file

geomesa.query.timeout

String

The max time a query will be allowed to run before being killed. The timeout is specified as a duration, e.g. 1 minute or 60 seconds

geomesa.query.threads

Integer

The number of threads to use per query

geomesa.query.loose-bounding-box

Boolean

Use loose bounding boxes - queries will be faster but may return extraneous results

geomesa.stats.generate

Boolean

Toggle collection of statistics (currently not implemented)

geomesa.query.caching

Boolean

Toggle caching of results

More information on using GeoTools can be found in the GeoTools user guide.