@InterfaceAudience.Internal public class Strings {
@InterfaceAudience.Internal public class BucketingInfo implements ColumnRangeInfo, Serializable, Writable { private static final long serialVersionUID = -0L;
@InterfaceAudience.Internal public class StreamFile {
@InterfaceAudience.Internal public interface DataMapSchemaStorageProvider {
@InterfaceAudience.Internal public class BlockletSerializer {
@InterfaceAudience.Internal public class StreamFileIndex implements Serializable {
@InterfaceAudience.Internal abstract class MetaCachedCarbonStore implements CarbonStore {
@InterfaceAudience.Internal public class MatchExpression extends Expression { private String queryString;
@InterfaceAudience.Internal public class DataMapStatusDetail implements Serializable {
/** * 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; } }
@InterfaceAudience.Internal @InterfaceStability.Evolving public class ReusableDataBuffer {
/** * ReadSupport that convert row object to CarbonRow */ @InterfaceAudience.Internal public class CarbonRowReadSupport implements CarbonReadSupport<CarbonRow> { private CarbonReadSupport<Object[]> delegate; public CarbonRowReadSupport() { this.delegate = new DictionaryDecodeReadSupport<>(); } @Override public void initialize(CarbonColumn[] carbonColumns, CarbonTable carbonTable) throws IOException { delegate.initialize(carbonColumns, carbonTable); } @Override public CarbonRow readRow(Object[] data) { Object[] converted = delegate.readRow(data); return new CarbonRow(converted); } @Override public void close() { delegate.close(); } }
/** * ReadCommitted interface that defines a read scope. */ @InterfaceAudience.Internal @InterfaceStability.Stable public interface ReadCommittedScope extends Serializable { LoadMetadataDetails[] getSegmentList() throws IOException; /** * @param segment * @return map of Absolute path of index file as key and null as value -- without mergeIndex * map of AbsolutePath with fileName of MergeIndex parent file as key and mergeIndexFileName * as value -- with mergeIndex * @throws IOException */ Map<String, String> getCommittedIndexFile(Segment segment) throws IOException; SegmentRefreshInfo getCommittedSegmentRefreshInfo(Segment segment, UpdateVO updateVo) throws IOException; void takeCarbonIndexFileSnapShot() throws IOException; Configuration getConfiguration(); void setConfiguration(Configuration configuration); }
@InterfaceAudience.Internal public class TimeseriesDataMapProvider extends PreAggregateDataMapProvider { TimeseriesDataMapProvider(CarbonTable mainTable, DataMapSchema dataMapSchema, SparkSession sparkSession) { super(mainTable, dataMapSchema, sparkSession); } @Override public void initMeta(String ctasSqlStatement) { DataMapSchema dataMapSchema = getDataMapSchema(); CarbonTable mainTable = getMainTable(); Map<String, String> dmProperties = dataMapSchema.getProperties(); String dmProviderName = dataMapSchema.getProviderName(); TimeSeriesUtil.validateTimeSeriesGranularity(dmProperties, dmProviderName); Tuple2<String, String> details = TimeSeriesUtil.getTimeSeriesGranularityDetails(dmProperties, dmProviderName); dmProperties.remove(details._1()); helper = new PreAggregateTableHelper( mainTable, dataMapSchema.getDataMapName(), dataMapSchema.getProviderName(), dmProperties, ctasSqlStatement, new Some(details._1()), false); helper.initMeta(sparkSession); } }
/** * Property that can be specified when creating DataMap */ @InterfaceAudience.Internal public class DataMapProperty { /** * Used to specify the store location of the datamap */ public static final String PARTITIONING = "partitioning"; public static final String PATH = "path"; /** * For datamap created with 'WITH DEFERRED REBUILD' syntax, we will add this * property internally */ public static final String DEFERRED_REBUILD = "_internal.deferred.rebuild"; /** * for internal property 'CHILD_SELECT_QUERY' */ public static final String CHILD_SELECT_QUERY = "CHILD_SELECT QUERY"; /** * for internal property 'QUERYTYPE' */ public static final String QUERY_TYPE = "QUERYTYPE"; }
@InterfaceAudience.Internal class BloomDataMapDistributable extends DataMapDistributable { /** * parent folder of the bloomindex file */ private String indexPath; /** * List of index shards which are already got filtered through CG index operation. * This is used for merge shard which cannot prune shard in `toDistributable` function. * Other case will be set to Null */ private Set<String> filteredShards; BloomDataMapDistributable(String indexPath, Set<String> filteredShards) { this.indexPath = indexPath; this.filteredShards = filteredShards; } public String getIndexPath() { return indexPath; } public Set<String> getFilteredShards() { return filteredShards; } }
@InterfaceAudience.Internal class LuceneDataMapDistributable extends DataMapDistributable { // TODO: seems no one use this? private String dataPath; private String indexPath; LuceneDataMapDistributable(String dataPath, String indexPath) { this.dataPath = dataPath; this.indexPath = indexPath; } public String getDataPath() { return dataPath; } public String getIndexPath() { return indexPath; } public void setIndexPath(String indexPath) { this.indexPath = indexPath; } }
@InterfaceAudience.Internal public class Maps { /** * Return value if key is contained in the map, else return defauleValue. * This is added to avoid JDK 8 dependency */ public static <K, V> V getOrDefault(Map<K, V> map, K key, V defaultValue) { V value = map.get(key); if (value != null) { return value; } else { return defaultValue; } } }
@InterfaceAudience.Internal @InterfaceStability.Stable public abstract class AbstractNonDictionaryVectorFiller { protected int numberOfRows; public AbstractNonDictionaryVectorFiller(int numberOfRows) { this.numberOfRows = numberOfRows; } public abstract void fillVector(byte[] data, CarbonColumnVector vector); }
/** * interface for column range information. Currently we treat bucket and sort_column_range as * value ranges for a column. */ @InterfaceAudience.Internal public interface ColumnRangeInfo { int getNumOfRanges(); }