@InterfaceStability.Evolving public class InterfaceAudience {
@InterfaceAudience.User @InterfaceStability.Evolving public class CarbonReaderBuilder {
@InterfaceStability.Evolving public class CarbonReader<T> {
@InterfaceStability.Evolving public class CarbonFileInputFormat<T> extends CarbonInputFormat<T> implements Serializable {
@InterfaceAudience.Developer("stats") @InterfaceStability.Evolving public class TaskStatistics implements Serializable {
@InterfaceStability.Evolving public class FineGrainBlocklet extends Blocklet implements Serializable {
@InterfaceStability.Evolving public abstract class DataMapWriter {
@InterfaceStability.Evolving public class DataMapRegistry { private static Map<String, String> shortNameToClassName = new ConcurrentHashMap<>();
@InterfaceStability.Evolving public class DataMapMeta { private String dataMapName;
@InterfaceStability.Evolving public class ReusableDataBuffer {
/** * This class is going to save the the Index files which are taken snapshot * from the readCommitter Interface. */ @InterfaceAudience.Internal @InterfaceStability.Evolving public class ReadCommittedIndexFileSnapShot implements Serializable { /** * Segment Numbers are mapped with list of Index Files. */ private Map<String, List<String>> segmentIndexFileMap; private Map<String, SegmentRefreshInfo> segmentTimestampUpdaterMap; public ReadCommittedIndexFileSnapShot(Map<String, List<String>> segmentIndexFileMap, Map<String, SegmentRefreshInfo> segmentTimestampUpdaterMap) { this.segmentIndexFileMap = segmentIndexFileMap; this.segmentTimestampUpdaterMap = segmentTimestampUpdaterMap; } public Map<String, List<String>> getSegmentIndexFileMap() { return segmentIndexFileMap; } public Map<String, SegmentRefreshInfo> getSegmentTimestampUpdaterMap() { return segmentTimestampUpdaterMap; } }
/** * Factory for {@link FineGrainDataMap} * * 1. Any filter query which hits the table with datamap will call prune method of FGdatamap. * 2. The prune method of FGDatamap return list FineGrainBlocklet , these blocklets contain the * information of block, blocklet, page and rowids information as well. * 3. The pruned blocklets are internally wriitten to file and returns only the block , * blocklet and filepath information as part of Splits. * 4. Based on the splits scanrdd schedule the tasks. * 5. In filterscanner we check the datamapwriterpath from split and reNoteads the * bitset if exists. And pass this bitset as input to it. */ @InterfaceAudience.Developer("DataMap") @InterfaceStability.Evolving public abstract class FineGrainDataMapFactory extends DataMapFactory<FineGrainDataMap> { public FineGrainDataMapFactory(CarbonTable carbonTable, DataMapSchema dataMapSchema) { super(carbonTable, dataMapSchema); } @Override public DataMapLevel getDataMapLevel() { return DataMapLevel.FG; } }
/** * Factory for {@link CoarseGrainDataMap} * 1. Any filter query which hits the table with datamap will call prune method of CGdatamap. * 2. The prune method of CGDatamap return list Blocklet , these blocklets contain the * information of block and blocklet. * 3. Based on the splits scanrdd schedule the tasks. */ @InterfaceAudience.Developer("DataMap") @InterfaceStability.Evolving public abstract class CoarseGrainDataMapFactory extends DataMapFactory<CoarseGrainDataMap> { public CoarseGrainDataMapFactory(CarbonTable carbonTable, DataMapSchema dataMapSchema) { super(carbonTable, dataMapSchema); } @Override public DataMapLevel getDataMapLevel() { return DataMapLevel.CG; } }
/** * This exception will be thrown when failed to process metadata while executing * carbon command */ @InterfaceAudience.User @InterfaceStability.Evolving public class MetadataProcessException extends RuntimeException { public MetadataProcessException(String message) { super(message); } public MetadataProcessException(String message, Throwable cause) { super(message + ": " + cause.getMessage(), cause); } }
/** * This exception will be thrown when failed to acquire lock for table status metadata, * or re-try timed out */ @InterfaceAudience.User @InterfaceStability.Evolving public class TableStatusLockException extends RuntimeException { public TableStatusLockException(String msg) { super(msg); } }
/** * DataMap for Fine Grain level, see {@link org.apache.carbondata.core.datamap.DataMapLevel#FG} */ @InterfaceAudience.Developer("DataMap") @InterfaceStability.Evolving public abstract class FineGrainDataMap implements DataMap<FineGrainBlocklet> { @Override public List<FineGrainBlocklet> prune(Expression filter, SegmentProperties segmentProperties, List<PartitionSpec> partitions, AbsoluteTableIdentifier identifier) throws IOException { throw new UnsupportedOperationException("Filter expression not supported"); } }
/** * DataMap for Coarse Grain level, see {@link org.apache.carbondata.core.datamap.DataMapLevel#CG} */ @InterfaceAudience.Developer("DataMap") @InterfaceStability.Evolving public abstract class CoarseGrainDataMap implements DataMap<Blocklet> { @Override public List<Blocklet> prune(Expression expression, SegmentProperties segmentProperties, List<PartitionSpec> partitions, AbsoluteTableIdentifier identifier) throws IOException { throw new UnsupportedOperationException("Filter expression not supported"); } }