public JavaPairRDD<ByteArray, Tuple2<GeoWaveInputKey, SimpleFeature>> getIndexedFeatureRDD() { return this.getIndexedFeatureRDD(0.0); }
public JavaPairRDD<ByteArray, Tuple2<GeoWaveInputKey, Geometry>> getIndexedGeometryRDD() { return this.getIndexedGeometryRDD(0.0, false); }
public void reindex(final Broadcast<? extends NumericIndexStrategy> newIndexStrategy) { // Remove original indexing strategy if (indexStrategy != null) { indexStrategy.unpersist(); } indexStrategy = (Broadcast<NumericIndexStrategy>) newIndexStrategy; reset(); }
final NumericIndexStrategy leftStrategy = leftRDD.getIndexStrategy().getValue(); final NumericIndexStrategy rightStrategy = rightRDD.getIndexStrategy().getValue(); JavaPairRDD<ByteArray, Tuple2<GeoWaveInputKey, Geometry>> rightIndex = null; if (reindexLeft && reindexRight) { leftRDD.reindex(broadcastStrategy); rightRDD.reindex(broadcastStrategy); } else if (reindexLeft) { leftRDD.reindex(broadcastStrategy); } else if (reindexRight) { rightRDD.reindex(broadcastStrategy); rightIndex = rightRDD.getIndexedGeometryRDD(bufferDistance, true); leftIndex = leftRDD.getIndexedGeometryRDD(); } else { leftIndex = leftRDD.getIndexedGeometryRDD(bufferDistance, true); rightIndex = rightRDD.getIndexedGeometryRDD(); if (commonRightExist) { commonRightRDD = rightRDD.getGeoWaveRDD().getRawRDD().filter( t -> t._2.getDefaultGeometry() != null).mapValues( (Function<SimpleFeature, Geometry>) t -> { if (commonLeftExist) { commonLeftRDD = leftRDD.getGeoWaveRDD().getRawRDD().filter( t -> t._2.getDefaultGeometry() != null).mapValues( (Function<SimpleFeature, Geometry>) t -> {
public static GeoWaveIndexedRDD loadIndexedRDD( final SparkContext sc, final GeoWaveRDD inputRDD, final NumericIndexStrategy indexStrategy) throws IOException { if ((inputRDD == null) || !inputRDD.isLoaded()) { return null; } // Index strategy can be expensive so we will broadcast it and store it Broadcast<NumericIndexStrategy> broadcastStrategy = null; if (indexStrategy != null) { broadcastStrategy = (Broadcast<NumericIndexStrategy>) RDDUtils.broadcastIndexStrategy(sc, indexStrategy); } final GeoWaveIndexedRDD returnRDD = new GeoWaveIndexedRDD(inputRDD, broadcastStrategy); return returnRDD; }
public JavaPairRDD<ByteArray, Tuple2<GeoWaveInputKey, SimpleFeature>> getIndexedFeatureRDD( final double bufferAmount) { verifyParameters(); if (!geowaveRDD.isLoaded()) { LOGGER.error("Must provide a loaded RDD.");
public static GeoWaveIndexedRDD loadIndexedRDD( final SparkContext sc, final DataStorePluginOptions storeOptions, final RDDOptions rddOpts, final NumericIndexStrategy indexStrategy) throws IOException { final GeoWaveRDD wrappedRDD = GeoWaveRDDLoader.loadRDD(sc, storeOptions, rddOpts); if (wrappedRDD == null) { return null; } // Index strategy can be expensive so we will broadcast it and store it Broadcast<NumericIndexStrategy> broadcastStrategy = null; if (indexStrategy != null) { broadcastStrategy = (Broadcast<NumericIndexStrategy>) RDDUtils.broadcastIndexStrategy(sc, indexStrategy); } final GeoWaveIndexedRDD returnRDD = new GeoWaveIndexedRDD(wrappedRDD, broadcastStrategy); return returnRDD; }
public JavaPairRDD<ByteArray, Tuple2<GeoWaveInputKey, Geometry>> getIndexedGeometryRDD( final double bufferAmount, final boolean recalculate) { verifyParameters();