@Override public void generateView(Configuration conf, SamplingType samplingType, SamplingOptions samplingOptions) throws Exception { prepareOutput(conf); final int nPartitions = tablespace.getnPartitions(); if (nPartitions > 1) { partitionMap = sample(nPartitions, conf, samplingType, samplingOptions); } else { partitionMap = PartitionMap.oneShardOpenedMap(); } writeOutputMetadata(conf); TupleMRBuilder builder = createMRBuilder(nPartitions, conf); // Set a TupleOutput here instead of SQLiteOutput builder.setOutput(new Path(outputPath, OUT_STORE), new TupleOutputFormat(tableSchema), ITuple.class, NullWritable.class); executeViewGeneration(builder); } };
/** * Launches the generation of the tablespaces. Automatic * {@link com.splout.db.common.PartitionMap} calculation. * * This is the public method which has to be called when using this class as * an API. Business logic has been split in various protected functions to * ease understading of it and also to be able to subclass this easily to * extend its functionality. */ public void generateView(Configuration conf, TupleSampler.SamplingType samplingType, TupleSampler.SamplingOptions samplingOptions) throws Exception { prepareOutput(conf); final int nPartitions = tablespace.getnPartitions(); if (nPartitions > 1) { partitionMap = sample(nPartitions, conf, samplingType, samplingOptions); } else { partitionMap = PartitionMap.oneShardOpenedMap(); } Log.info("Calculated partition map: " + partitionMap); writeOutputMetadata(conf); TupleMRBuilder builder = createMRBuilder(nPartitions, conf); executeViewGeneration(builder); }