Class HashBasedNumberedShardSpec
- java.lang.Object
-
- org.apache.druid.timeline.partition.NumberedShardSpec
-
- org.apache.druid.timeline.partition.HashBasedNumberedShardSpec
-
- All Implemented Interfaces:
ShardSpec
public class HashBasedNumberedShardSpec extends NumberedShardSpec
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.druid.timeline.partition.ShardSpec
ShardSpec.Type
-
-
Field Summary
Fields Modifier and Type Field Description static List<String>
DEFAULT_PARTITION_DIMENSIONS
-
Constructor Summary
Constructors Constructor Description HashBasedNumberedShardSpec(int partitionNum, int partitions, Integer bucketId, Integer numBuckets, List<String> partitionDimensions, HashPartitionFunction partitionFunction, com.fasterxml.jackson.databind.ObjectMapper jsonMapper)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
int
getBucketId()
List<String>
getDomainDimensions()
Get dimensions who have possible range for the rows this shard contains.ShardSpecLookup
getLookup(List<? extends ShardSpec> shardSpecs)
int
getNumBuckets()
List<String>
getPartitionDimensions()
HashPartitionFunction
getPartitionFunction()
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;static byte[]
serializeGroupKey(com.fasterxml.jackson.databind.ObjectMapper jsonMapper, List<Object> partitionKeys)
Serializes a group key into a byte array.String
toString()
-
Methods inherited from class org.apache.druid.timeline.partition.NumberedShardSpec
createChunk, getNumCorePartitions, getPartitionNum
-
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
-
-
-
-
Constructor Detail
-
HashBasedNumberedShardSpec
public HashBasedNumberedShardSpec(int partitionNum, int partitions, @Nullable Integer bucketId, @Nullable Integer numBuckets, @Nullable List<String> partitionDimensions, @Nullable HashPartitionFunction partitionFunction, com.fasterxml.jackson.databind.ObjectMapper jsonMapper)
-
-
Method Detail
-
getBucketId
public int getBucketId()
-
getNumBuckets
public int getNumBuckets()
-
getPartitionFunction
@Nullable public HashPartitionFunction getPartitionFunction()
-
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
- Overrides:
getDomainDimensions
in classNumberedShardSpec
- Returns:
- list of dimensions who has its possible range. Dimensions with unknown possible range are not listed
-
getLookup
public ShardSpecLookup getLookup(List<? extends ShardSpec> shardSpecs)
- Specified by:
getLookup
in interfaceShardSpec
- Overrides:
getLookup
in classNumberedShardSpec
-
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
- Overrides:
possibleInDomain
in classNumberedShardSpec
- Returns:
- possibility of in domain
-
serializeGroupKey
public static byte[] serializeGroupKey(com.fasterxml.jackson.databind.ObjectMapper jsonMapper, List<Object> partitionKeys)
Serializes a group key into a byte array. The serialization algorithm can affect hash values of partition keys sinceHashPartitionFunction.hash(byte[], int)
takes the result of this method as its input. This means, the returned byte array should be backwards-compatible in cases where we need to modify this method.
-
getType
public String getType()
Description copied from interface:ShardSpec
Get the type name of this ShardSpec.- Specified by:
getType
in interfaceShardSpec
- Overrides:
getType
in classNumberedShardSpec
-
equals
public boolean equals(Object o)
- Overrides:
equals
in classNumberedShardSpec
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classNumberedShardSpec
-
toString
public String toString()
- Overrides:
toString
in classNumberedShardSpec
-
-