Class NumberedShardSpec
- java.lang.Object
-
- org.apache.druid.timeline.partition.NumberedShardSpec
-
- All Implemented Interfaces:
ShardSpec
- Direct Known Subclasses:
HashBasedNumberedShardSpec
public class NumberedShardSpec extends Object implements ShardSpec
An extendable linear shard spec containing the information of core partitions. This class contains two variables ofpartitionNum
andpartitions
, which represent the unique id of a partition and the number of core partitions, respectively.partitions
simply indicates that the atomic update is regarded as completed whenpartitions
partitions are successfully updated, andpartitionNum
can go beyond it when some types of index tasks are trying to append to existing partitions.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.druid.timeline.partition.ShardSpec
ShardSpec.Type
-
-
Constructor Summary
Constructors Constructor Description NumberedShardSpec(int partitionNum, int partitions)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> PartitionChunk<T>
createChunk(T obj)
boolean
equals(Object o)
List<String>
getDomainDimensions()
Get dimensions who have possible range for the rows this shard contains.ShardSpecLookup
getLookup(List<? extends ShardSpec> shardSpecs)
int
getNumCorePartitions()
int
getPartitionNum()
Returns the partition ID of this segment.String
getType()
Get the type name of this ShardSpec.int
hashCode()
boolean
possibleInDomain(Map<String,com.google.common.collect.RangeSet<String>> domain)
if given domain ranges are not possible in this shard, return false; otherwise return true;String
toString()
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.druid.timeline.partition.ShardSpec
getAtomicUpdateGroupSize, getEndRootPartitionId, getMinorVersion, getStartRootPartitionId, sharePartitionSpace
-
-
-
-
Method Detail
-
getPartitionNum
public int getPartitionNum()
Description copied from interface:ShardSpec
Returns the partition ID of this segment.- Specified by:
getPartitionNum
in interfaceShardSpec
-
getLookup
public ShardSpecLookup getLookup(List<? extends ShardSpec> shardSpecs)
-
getDomainDimensions
public List<String> getDomainDimensions()
Description copied from interface:ShardSpec
Get dimensions who have possible range for the rows this shard contains.- Specified by:
getDomainDimensions
in interfaceShardSpec
- Returns:
- list of dimensions who has its possible range. Dimensions with unknown possible range are not listed
-
possibleInDomain
public boolean possibleInDomain(Map<String,com.google.common.collect.RangeSet<String>> domain)
Description copied from interface:ShardSpec
if given domain ranges are not possible in this shard, return false; otherwise return true;- Specified by:
possibleInDomain
in interfaceShardSpec
- Returns:
- possibility of in domain
-
getNumCorePartitions
public int getNumCorePartitions()
- Specified by:
getNumCorePartitions
in interfaceShardSpec
-
createChunk
public <T> PartitionChunk<T> createChunk(T obj)
- Specified by:
createChunk
in interfaceShardSpec
-
getType
public String getType()
Description copied from interface:ShardSpec
Get the type name of this ShardSpec.
-
-