Hbase数据压缩
在创建新的SimpleFeatureType时,可以对数据进行压缩。有效的压缩类型有snappy、lzo、gz、bzip2、lz4或zstd。
SimpleFeatureType sft = ....;
sft.getUserData().put("geomesa.table.compression.enabled", "true");
sft.getUserData().put("geomesa.table.compression.type", "snappy");
geomesa-hbase create-schema --compression snappy ...
Hbase热力图(密度查询)
基于HBase的GeoMesa可以利用服务器端处理来加速热力图(密度)查询。GeoMesa使用在HBase服务器上运行的自定义协处理器,以便对数据进行密度计算。然后将每个区域的结果返回到GeoServer,在那里进行组合并提供服务。
实现上述功能必须要:
1、在Hbase端安装jar文件
2、注册协处理器
3、在GeoServer 中安装WPS,
4、在GeoServer 中安装Heatmap SLD(怎么安装,去看官网10.8.1)
Hbase可见性
数据安全
分为基于Data Store的和基于Feature的
可见性配置:
在hbase-site.xml文件中进行配置:
1.启用HFile v3格式
2。可见性协处理器:
<property>
<name>hfile.format.version</name>
<value>3</value>
</property>
<property>
<name>hbase.coprocessor.region.classes</name>
<value>org.apache.hadoop.hbase.security.visibility.VisibilityController</value>
</property>
<property>
<name>hbase.coprocessor.master.classes</name>
<value>org.apache.hadoop.hbase.security.visibility.VisibilityController</value>
</property>
可通过以下参数来配置可见性:
Map<String, String> parameters = ...
parameters.put("hbase.security.enabled", "true");
DataStore ds = DataStoreFinder.getDataStore(parameters);
Data Store级别的可见性
在创建DataStore时,可以为所有feature配置默认的可见性:
Map<String, String> parameters = ...
parameters.put("hbase.security.enabled", "true");
parameters.put("geomesa.security.visibilities", "admin&user");
DataStore ds = DataStoreFinder.getDataStore(parameters);
Feature级别的可见性
import org.locationtech.geomesa.security.SecurityUtils;
SecurityUtils.setFeatureVisibility(feature, "admin&user")
或者
feature.getUserData().put("geomesa.feature.visibility", "admin&user");
注:Feature级别高于Data Store级别