21.3. 以编程方式使用Lambda数据存储¶
21.3.1. 创建数据存储¶
假定GeoMesa代码位于类路径上,可以通过常规的GeoTools发现方法获得Lambda数据存储的实例:
Map<String, String> parameters = new HashMap<>;
parameters.put("lambda.accumulo.instance.name", "myInstance");
parameters.put("lambda.accumulo.zookeepers", "zoo1,zoo2,zoo3");
parameters.put("lambda.accumulo.user", "myUser");
parameters.put("lambda.accumulo.password", "myPassword");
parameters.put("lambda.accumulo.tableName", "my_table");
parameters.put("lambda.kafka.brokers", "kafka1:9092,kafka2:9092");
parameters.put("lambda.kafka.zookeepers", "zoo1,zoo2,zoo3");
parameters.put("lambda.expiry", "10 minutes");
org.geotools.data.DataStore dataStore = org.geotools.data.DataStoreFinder.getDataStore(parameters);
有关使用GeoTool的更多信息,请参阅 GeoTools user guide 。
21.3.2. Lambda数据存储参数¶
数据存储采用多个参数(所需参数用标记 *
):
参数 |
类型 |
描述 |
---|---|---|
|
细绳 |
Acumulo安装的实例ID |
|
细绳 |
以逗号分隔的ZooKeeper服务器列表(例如“zoo1、zoo2、zoo3”或“localhost:2181”) |
|
细绳 |
GeoMesa目录表的名称 |
|
细绳 |
累积用户名 |
|
细绳 |
累积密码 |
|
细绳 |
包含指定用户条目的Kerberos密钥表文件的路径 |
|
细绳 |
以逗号分隔的卡夫卡经纪人列表(例如 |
|
细绳 |
以逗号分隔的ZooKeeper服务器列表(例如 |
|
整型 |
用于创建新主题的分区数。通常应将其设置为计划运行的编写器实例数 |
|
整型 |
用于将数据加载到内存中缓存的使用者数量 |
|
细绳 |
Java-PROPERTIES-直接传递给Kafka生产者的格式化字符串。看见 Producer Configs |
|
细绳 |
Java-PROPERTIES-直接传递给Kafka使用者的格式字符串。看见 Consumer Configs |
|
细绳 |
特征在持久存储之前在内存中保留多长时间的持续时间(例如 |
|
布尔型 |
过期的功能是应该保留到Acumulo,还是直接丢弃 |
|
细绳 |
将用于通过Acumulo进行查询的以逗号分隔的授权超集 |
|
布尔型 |
强制授权为空 |
|
细绳 |
类的类名。 |
|
布尔型 |
正在运行的审核查询。查询将存储在 |
|
细绳 |
在终止查询之前允许运行的最长时间。超时被指定为持续时间,例如 |
|
整型 |
每个查询要使用的线程数 |
|
布尔型 |
使用松散边界框-查询速度更快,但可能会返回无关的结果 |
|
整型 |
用于记录检索的线程数 |
|
整型 |
用于写入记录的线程数 |
|
布尔型 |
切换新创建的要素类型的统计数据收集 |
注:其中一项(但不是两项) lambda.accumulo.password
和 lambda.accumulo.keytab.path
必须提供。