geowave
geowave copied to clipboard
The problem that geowave obtains RDD slowly through geometry intersection filtering
Execution results are correct, but filtering is slow. Is there a solution faster?
The execution code is as follows:
int minSplits = -1;
int maxSplits = -1;
Geometry tGeo;
SpatialQuery tBoxQuery =new SpatialQuery(tGeo,crs);
HBaseOptions hbaseOptions=new HBaseOptions();
HBaseOperations hbase= this.gw.getNewHBaseOperations(storeName);
HBaseDataStore hbase_datastore = new HBaseDataStore(hbase,hbaseOptions);
FeatureDataAdapter feat_da=this.gw.GetFeatureAdapter(storeName,storeName);
PrimaryIndex tPrimaryIndex=this.gw.GetNewPrimaryIndexByOriLayer(storeName,storeName);
QueryOptions Qoptions = new QueryOptions(
feat_da,
this.gw.createPrimaryIndex(crs),
new String[] {
app.zookeeperUser
});
RDDOptions rddOptions=new RDDOptions();
rddOptions.setQueryOptions(Qoptions);
rddOptions.setQuery(tBoxQuery);
rddOptions.setMaxSplits(maxSplits);
rddOptions.setMinSplits(minSplits);
//-------
GeoWaveRDD gwRdd = GeoWaveRDDLoader.loadRDD(
context.sc(),
inputStoreOptions,
rddOptions);