Search in sources :

Example 1 with AdapterStore

use of org.locationtech.geowave.core.store.adapter.AdapterStore in project geowave by locationtech.

the class OSMConversionRunner method run.

@Override
public int run(final String[] args) throws Exception {
    final Configuration conf = getConf();
    final AccumuloRequiredOptions accumuloOptions = (AccumuloRequiredOptions) inputStoreOptions.getFactoryOptions();
    // job settings
    final Job job = Job.getInstance(conf, ingestOptions.getJobName() + "NodeConversion");
    job.setJarByClass(OSMConversionRunner.class);
    job.getConfiguration().set("osm_mapping", ingestOptions.getMappingContents());
    job.getConfiguration().set("arguments", ingestOptions.serializeToString());
    if (ingestOptions.getVisibilityOptions().getGlobalVisibility() != null) {
        job.getConfiguration().set(AbstractMapReduceIngest.GLOBAL_VISIBILITY_KEY, ingestOptions.getVisibilityOptions().getGlobalVisibility());
    }
    // input format
    AbstractInputFormat.setConnectorInfo(job, accumuloOptions.getUser(), new PasswordToken(accumuloOptions.getPassword()));
    InputFormatBase.setInputTableName(job, ingestOptions.getQualifiedTableName());
    AbstractInputFormat.setZooKeeperInstance(job, ClientConfiguration.create().withInstance(accumuloOptions.getInstance()).withZkHosts(accumuloOptions.getZookeeper()));
    AbstractInputFormat.setScanAuthorizations(job, new Authorizations(ingestOptions.getVisibilityOptions().getGlobalVisibility()));
    final IteratorSetting is = new IteratorSetting(50, "WholeRow", WholeRowIterator.class);
    InputFormatBase.addIterator(job, is);
    job.setInputFormatClass(AccumuloInputFormat.class);
    final Range r = new Range();
    // final ArrayList<Pair<Text, Text>> columns = new ArrayList<>();
    InputFormatBase.setRanges(job, Arrays.asList(r));
    // output format
    GeoWaveOutputFormat.setStoreOptions(job.getConfiguration(), inputStoreOptions);
    final AccumuloOptions options = new AccumuloOptions();
    final AdapterStore as = new AdapterStoreImpl(new AccumuloOperations(accumuloOptions.getZookeeper(), accumuloOptions.getInstance(), accumuloOptions.getUser(), accumuloOptions.getPasswordOrKeytab(), accumuloOptions.isUseSasl(), accumuloOptions.getGeoWaveNamespace(), options), options);
    for (final FeatureDataAdapter fda : FeatureDefinitionSet.featureAdapters.values()) {
        as.addAdapter(fda);
        GeoWaveOutputFormat.addDataAdapter(job.getConfiguration(), fda);
    }
    final Index primaryIndex = SpatialDimensionalityTypeProvider.createIndexFromOptions(new SpatialOptions());
    GeoWaveOutputFormat.addIndex(job.getConfiguration(), primaryIndex);
    job.getConfiguration().set(AbstractMapReduceIngest.INDEX_NAMES_KEY, primaryIndex.getName());
    job.setOutputFormatClass(GeoWaveOutputFormat.class);
    job.setMapOutputKeyClass(GeoWaveOutputKey.class);
    job.setMapOutputValueClass(SimpleFeature.class);
    // mappper
    job.setMapperClass(OSMConversionMapper.class);
    // reducer
    job.setNumReduceTasks(0);
    return job.waitForCompletion(true) ? 0 : -1;
}
Also used : Authorizations(org.apache.accumulo.core.security.Authorizations) AccumuloOperations(org.locationtech.geowave.datastore.accumulo.operations.AccumuloOperations) Configuration(org.apache.hadoop.conf.Configuration) ClientConfiguration(org.apache.accumulo.core.client.ClientConfiguration) Index(org.locationtech.geowave.core.store.api.Index) Range(org.apache.accumulo.core.data.Range) SpatialOptions(org.locationtech.geowave.core.geotime.index.SpatialOptions) AdapterStore(org.locationtech.geowave.core.store.adapter.AdapterStore) AccumuloRequiredOptions(org.locationtech.geowave.datastore.accumulo.config.AccumuloRequiredOptions) PasswordToken(org.apache.accumulo.core.client.security.tokens.PasswordToken) IteratorSetting(org.apache.accumulo.core.client.IteratorSetting) AccumuloOptions(org.locationtech.geowave.datastore.accumulo.config.AccumuloOptions) Job(org.apache.hadoop.mapreduce.Job) AdapterStoreImpl(org.locationtech.geowave.core.store.metadata.AdapterStoreImpl) FeatureDataAdapter(org.locationtech.geowave.adapter.vector.FeatureDataAdapter)

Example 2 with AdapterStore

use of org.locationtech.geowave.core.store.adapter.AdapterStore in project geowave by locationtech.

the class ClusteringUtils method getAdapters.

public static DataTypeAdapter[] getAdapters(final PropertyManagement propertyManagement) throws IOException {
    final PersistableStore store = (PersistableStore) StoreParameters.StoreParam.INPUT_STORE.getHelper().getValue(propertyManagement);
    final AdapterStore adapterStore = store.getDataStoreOptions().createAdapterStore();
    return adapterStore.getAdapters();
}
Also used : AdapterStore(org.locationtech.geowave.core.store.adapter.AdapterStore) PersistableStore(org.locationtech.geowave.analytic.store.PersistableStore)

Aggregations

AdapterStore (org.locationtech.geowave.core.store.adapter.AdapterStore)2 ClientConfiguration (org.apache.accumulo.core.client.ClientConfiguration)1 IteratorSetting (org.apache.accumulo.core.client.IteratorSetting)1 PasswordToken (org.apache.accumulo.core.client.security.tokens.PasswordToken)1 Range (org.apache.accumulo.core.data.Range)1 Authorizations (org.apache.accumulo.core.security.Authorizations)1 Configuration (org.apache.hadoop.conf.Configuration)1 Job (org.apache.hadoop.mapreduce.Job)1 FeatureDataAdapter (org.locationtech.geowave.adapter.vector.FeatureDataAdapter)1 PersistableStore (org.locationtech.geowave.analytic.store.PersistableStore)1 SpatialOptions (org.locationtech.geowave.core.geotime.index.SpatialOptions)1 Index (org.locationtech.geowave.core.store.api.Index)1 AdapterStoreImpl (org.locationtech.geowave.core.store.metadata.AdapterStoreImpl)1 AccumuloOptions (org.locationtech.geowave.datastore.accumulo.config.AccumuloOptions)1 AccumuloRequiredOptions (org.locationtech.geowave.datastore.accumulo.config.AccumuloRequiredOptions)1 AccumuloOperations (org.locationtech.geowave.datastore.accumulo.operations.AccumuloOperations)1