public class PartitionedFileSetDataset
extends co.cask.cdap.api.dataset.lib.AbstractDataset
implements co.cask.cdap.api.dataset.lib.PartitionedFileSet, co.cask.cdap.api.data.batch.DatasetOutputCommitter
| Modifier and Type | Class and Description |
|---|---|
protected static class |
PartitionedFileSetDataset.BasicPartitionOutput
Simple Implementation of PartitionOutput.
|
protected static interface |
PartitionedFileSetDataset.PartitionConsumer
Interface use internally to build different types of results when scanning partitions.
|
| Modifier and Type | Field and Description |
|---|---|
protected static byte[] |
CREATION_TIME_COL |
protected com.google.inject.Provider<ExploreFacade> |
exploreFacadeProvider |
protected static byte[] |
FIELD_PREFIX |
protected co.cask.cdap.api.dataset.lib.FileSet |
files |
protected boolean |
ignoreInvalidRowsSilently |
protected boolean |
isExternal |
protected static byte[] |
METADATA_PREFIX |
protected co.cask.cdap.api.dataset.lib.Partitioning |
partitioning |
protected co.cask.cdap.api.dataset.lib.IndexedTable |
partitionsTable |
protected static byte[] |
RELATIVE_PATH |
protected Map<String,String> |
runtimeArguments |
protected co.cask.cdap.api.dataset.DatasetSpecification |
spec |
protected static byte[] |
WRITE_PTR_COL |
| Constructor and Description |
|---|
PartitionedFileSetDataset(co.cask.cdap.api.dataset.DatasetContext datasetContext,
String name,
co.cask.cdap.api.dataset.lib.Partitioning partitioning,
co.cask.cdap.api.dataset.lib.FileSet fileSet,
co.cask.cdap.api.dataset.lib.IndexedTable partitionTable,
co.cask.cdap.api.dataset.DatasetSpecification spec,
Map<String,String> arguments,
com.google.inject.Provider<ExploreFacade> exploreFacadeProvider) |
| Modifier and Type | Method and Description |
|---|---|
void |
addMetadata(co.cask.cdap.api.dataset.lib.PartitionKey key,
Map<String,String> metadata) |
void |
addMetadata(co.cask.cdap.api.dataset.lib.PartitionKey key,
String metadataKey,
String metadataValue) |
void |
addPartition(co.cask.cdap.api.dataset.lib.PartitionKey key,
String path) |
protected void |
addPartition(co.cask.cdap.api.dataset.lib.PartitionKey key,
String path,
boolean explorable,
Map<String,String> metadata)
Add a partition for a given partition key, stored at a given path (relative to the file set's base path),
with the given metadata.
|
void |
addPartition(co.cask.cdap.api.dataset.lib.PartitionKey key,
String path,
Map<String,String> metadata) |
protected void |
addPartitionToExplore(co.cask.cdap.api.dataset.lib.PartitionKey key,
String path) |
void |
close() |
boolean |
commitTx() |
protected Collection<String> |
computeFilterInputPaths()
If a partition filter was specified, return the input locations of all partitions
matching the filter.
|
co.cask.cdap.api.dataset.lib.PartitionConsumerResult |
consumePartitions(co.cask.cdap.api.dataset.lib.PartitionConsumerState partitionConsumerState) |
co.cask.cdap.api.dataset.lib.PartitionConsumerResult |
consumePartitions(co.cask.cdap.api.dataset.lib.PartitionConsumerState partitionConsumerState,
int limit,
co.cask.cdap.api.Predicate<co.cask.cdap.api.dataset.lib.PartitionDetail> predicate) |
void |
dropPartition(co.cask.cdap.api.dataset.lib.PartitionKey key) |
protected void |
dropPartitionFromExplore(co.cask.cdap.api.dataset.lib.PartitionKey key) |
co.cask.cdap.api.dataset.lib.FileSet |
getEmbeddedFileSet() |
String |
getInputFormatClassName() |
Map<String,String> |
getInputFormatConfiguration() |
String |
getOutputFormatClassName() |
Map<String,String> |
getOutputFormatConfiguration() |
static String |
getOutputPath(co.cask.cdap.api.dataset.lib.PartitionKey key,
co.cask.cdap.api.dataset.lib.Partitioning partitioning) |
co.cask.cdap.api.dataset.lib.PartitionDetail |
getPartition(co.cask.cdap.api.dataset.lib.PartitionKey key) |
co.cask.cdap.api.dataset.lib.Partitioning |
getPartitioning() |
co.cask.cdap.api.dataset.lib.PartitionOutput |
getPartitionOutput(co.cask.cdap.api.dataset.lib.PartitionKey key) |
Set<co.cask.cdap.api.dataset.lib.PartitionDetail> |
getPartitions(co.cask.cdap.api.dataset.lib.PartitionFilter filter) |
protected void |
getPartitions(co.cask.cdap.api.dataset.lib.PartitionFilter filter,
PartitionedFileSetDataset.PartitionConsumer consumer) |
protected void |
getPartitions(co.cask.cdap.api.dataset.lib.PartitionFilter filter,
PartitionedFileSetDataset.PartitionConsumer consumer,
boolean decodeMetadata) |
Map<String,String> |
getRuntimeArguments() |
void |
onFailure() |
void |
onSuccess() |
boolean |
rollbackTx() |
void |
startTx(co.cask.tephra.Transaction tx) |
protected static final byte[] RELATIVE_PATH
protected static final byte[] FIELD_PREFIX
protected static final byte[] METADATA_PREFIX
protected static final byte[] CREATION_TIME_COL
protected static final byte[] WRITE_PTR_COL
protected final co.cask.cdap.api.dataset.lib.FileSet files
protected final co.cask.cdap.api.dataset.lib.IndexedTable partitionsTable
protected final co.cask.cdap.api.dataset.DatasetSpecification spec
protected final boolean isExternal
protected final com.google.inject.Provider<ExploreFacade> exploreFacadeProvider
protected final co.cask.cdap.api.dataset.lib.Partitioning partitioning
protected boolean ignoreInvalidRowsSilently
public PartitionedFileSetDataset(co.cask.cdap.api.dataset.DatasetContext datasetContext,
String name,
co.cask.cdap.api.dataset.lib.Partitioning partitioning,
co.cask.cdap.api.dataset.lib.FileSet fileSet,
co.cask.cdap.api.dataset.lib.IndexedTable partitionTable,
co.cask.cdap.api.dataset.DatasetSpecification spec,
Map<String,String> arguments,
com.google.inject.Provider<ExploreFacade> exploreFacadeProvider)
public void startTx(co.cask.tephra.Transaction tx)
startTx in interface co.cask.tephra.TransactionAwarestartTx in class co.cask.cdap.api.dataset.lib.AbstractDatasetpublic boolean commitTx()
throws Exception
commitTx in interface co.cask.tephra.TransactionAwarecommitTx in class co.cask.cdap.api.dataset.lib.AbstractDatasetExceptionpublic boolean rollbackTx()
throws Exception
rollbackTx in interface co.cask.tephra.TransactionAwarerollbackTx in class co.cask.cdap.api.dataset.lib.AbstractDatasetExceptionpublic co.cask.cdap.api.dataset.lib.Partitioning getPartitioning()
getPartitioning in interface co.cask.cdap.api.dataset.lib.PartitionedFileSetpublic void addPartition(co.cask.cdap.api.dataset.lib.PartitionKey key,
String path)
addPartition in interface co.cask.cdap.api.dataset.lib.PartitionedFileSetpublic void addPartition(co.cask.cdap.api.dataset.lib.PartitionKey key,
String path,
Map<String,String> metadata)
addPartition in interface co.cask.cdap.api.dataset.lib.PartitionedFileSetprotected void addPartition(co.cask.cdap.api.dataset.lib.PartitionKey key,
String path,
boolean explorable,
Map<String,String> metadata)
key - the partitionKey for the partition.path - the path for the partition.explorable - whether to add the partition to exploremetadata - the metadata associated with the partition.public co.cask.cdap.api.dataset.lib.PartitionConsumerResult consumePartitions(co.cask.cdap.api.dataset.lib.PartitionConsumerState partitionConsumerState)
consumePartitions in interface co.cask.cdap.api.dataset.lib.PartitionedFileSetpublic co.cask.cdap.api.dataset.lib.PartitionConsumerResult consumePartitions(co.cask.cdap.api.dataset.lib.PartitionConsumerState partitionConsumerState,
int limit,
co.cask.cdap.api.Predicate<co.cask.cdap.api.dataset.lib.PartitionDetail> predicate)
consumePartitions in interface co.cask.cdap.api.dataset.lib.PartitionedFileSetpublic void addMetadata(co.cask.cdap.api.dataset.lib.PartitionKey key,
String metadataKey,
String metadataValue)
addMetadata in interface co.cask.cdap.api.dataset.lib.PartitionedFileSetpublic void addMetadata(co.cask.cdap.api.dataset.lib.PartitionKey key,
Map<String,String> metadata)
addMetadata in interface co.cask.cdap.api.dataset.lib.PartitionedFileSetprotected void addPartitionToExplore(co.cask.cdap.api.dataset.lib.PartitionKey key,
String path)
public void dropPartition(co.cask.cdap.api.dataset.lib.PartitionKey key)
dropPartition in interface co.cask.cdap.api.dataset.lib.PartitionedFileSetprotected void dropPartitionFromExplore(co.cask.cdap.api.dataset.lib.PartitionKey key)
public co.cask.cdap.api.dataset.lib.PartitionOutput getPartitionOutput(co.cask.cdap.api.dataset.lib.PartitionKey key)
getPartitionOutput in interface co.cask.cdap.api.dataset.lib.PartitionedFileSetpublic co.cask.cdap.api.dataset.lib.PartitionDetail getPartition(co.cask.cdap.api.dataset.lib.PartitionKey key)
getPartition in interface co.cask.cdap.api.dataset.lib.PartitionedFileSetpublic Set<co.cask.cdap.api.dataset.lib.PartitionDetail> getPartitions(@Nullable co.cask.cdap.api.dataset.lib.PartitionFilter filter)
getPartitions in interface co.cask.cdap.api.dataset.lib.PartitionedFileSetprotected void getPartitions(@Nullable co.cask.cdap.api.dataset.lib.PartitionFilter filter, PartitionedFileSetDataset.PartitionConsumer consumer)
protected void getPartitions(@Nullable co.cask.cdap.api.dataset.lib.PartitionFilter filter, PartitionedFileSetDataset.PartitionConsumer consumer, boolean decodeMetadata)
public static String getOutputPath(co.cask.cdap.api.dataset.lib.PartitionKey key, co.cask.cdap.api.dataset.lib.Partitioning partitioning)
public void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableclose in class co.cask.cdap.api.dataset.lib.AbstractDatasetIOExceptionpublic String getInputFormatClassName()
getInputFormatClassName in interface co.cask.cdap.api.data.batch.InputFormatProviderpublic Map<String,String> getInputFormatConfiguration()
getInputFormatConfiguration in interface co.cask.cdap.api.data.batch.InputFormatProvider@Nullable protected Collection<String> computeFilterInputPaths()
public String getOutputFormatClassName()
getOutputFormatClassName in interface co.cask.cdap.api.data.batch.OutputFormatProviderpublic Map<String,String> getOutputFormatConfiguration()
getOutputFormatConfiguration in interface co.cask.cdap.api.data.batch.OutputFormatProviderpublic void onSuccess()
throws co.cask.cdap.api.dataset.DataSetException
onSuccess in interface co.cask.cdap.api.data.batch.DatasetOutputCommitterco.cask.cdap.api.dataset.DataSetExceptionpublic void onFailure()
throws co.cask.cdap.api.dataset.DataSetException
onFailure in interface co.cask.cdap.api.data.batch.DatasetOutputCommitterco.cask.cdap.api.dataset.DataSetExceptionpublic co.cask.cdap.api.dataset.lib.FileSet getEmbeddedFileSet()
getEmbeddedFileSet in interface co.cask.cdap.api.dataset.lib.PartitionedFileSetCopyright © 2016 Cask Data, Inc. Licensed under the Apache License, Version 2.0.