14.3. 以编程方式使用HBase Data Store¶
14.3.1. 创建数据存储¶
假设GeoMesa代码位于类路径上,则可以通过普通的GeoTools发现方法获得HBase数据存储的实例。
HBase数据存储还需要一个适当的 hbase-site.xml
类路径上有一个文件;HBase的连接参数是从这个文件中获得的,包括 hbase.zookeeper.quorum
和 hbase.zookeeper.property.clientPort
。
作为提供以下服务的替代方案 hbase-site.xml
,可以通过参数指定ZooKeeper连接 hbase.zookeepers
。但是,不建议使用此方法,因为其他重要配置(包括安全性,如果有)来自 hbase-site.xml
可能是正确操作所必需的。
Map<String, Serializable> parameters = new HashMap<>();
parameters.put("hbase.catalog", "geomesa");
org.geotools.data.DataStore dataStore =
org.geotools.data.DataStoreFinder.getDataStore(parameters);
14.3.2. HBase数据存储参数¶
数据存储采用多个参数(所需参数用标记 *
):
参数 |
类型 |
描述 |
---|---|---|
|
细绳 |
GeoMesa目录表的名称,包括HBase命名空间(如果有),以 |
|
细绳 |
HBase ZooKeeper组中以逗号分隔的服务器列表。这是可选的,定义HBase连接的首选方法是 |
|
细绳 |
包含协处理器的GeoMesa JAR的路径,用于自动注册 |
|
细绳 |
其他HBase配置资源文件(逗号分隔) |
|
细绳 |
其他HBase配置属性,作为标准XML |
|
布尔型 |
重新使用和共享HBase连接,或为此数据存储创建新的连接 |
|
布尔型 |
可用于在无法安装自定义代码的环境中禁用远程过滤和协处理器 |
|
布尔型 |
启用HBase安全性(可见性) |
|
细绳 |
将用于查询的以逗号分隔的授权超集 |
|
布尔型 |
强制授权为空 |
|
布尔型 |
正在运行的审核查询。查询将写入日志文件 |
|
细绳 |
在终止查询之前允许运行的最长时间。超时被指定为持续时间,例如 |
|
整型 |
每个查询要使用的线程数 |
|
整型 |
每个协处理器查询要使用的HBase RPC线程数 |
|
布尔型 |
使用松散边界框-查询速度更快,但可能会返回无关的结果 |
|
整型 |
每次扩展扫描的最大范围。范围将根据此设置分组为扫描 |
|
整型 |
每次协处理器扫描的最大范围。范围将根据此设置分组为扫描 |
|
布尔型 |
禁用Arrow查询的协处理器扫描,而使用本地编码 |
|
布尔型 |
禁用协处理器扫描Bin查询,转而使用本地编码 |
|
布尔型 |
禁用协处理器扫描密度查询,转而使用本地处理 |
|
布尔型 |
禁用STAT查询的协处理器扫描,转而使用本地处理 |
|
布尔型 |
切换协处理器产生部分结果 |
|
布尔型 |
切换极并行的协处理器扫描(受RPC线程限制) |
|
布尔型 |
切换统计信息收集(当前未实现) |
|
布尔型 |
对于分区架构,并行执行扫描,而不是顺序执行 |
注: hbase.coprocessor.*.enable
参数将被替换为 hbase.remote.filtering=false
。
有关使用GeoTool的更多信息,请参阅 GeoTools user guide 。