@InterfaceAudience.Private public class HDFSBlocksDistribution extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
HDFSBlocksDistribution.HostAndWeight
Stores the hostname and weight for that hostname.
|
Constructor and Description |
---|
HDFSBlocksDistribution()
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
add(HDFSBlocksDistribution otherBlocksDistribution)
This will add the distribution from input to this object
|
void |
addHostsAndBlockWeight(java.lang.String[] hosts,
long weight)
add some weight to a list of hosts, update the value of unique block weight
|
float |
getBlockLocalityIndex(java.lang.String host)
return the locality index of a given host
|
java.util.Map<java.lang.String,HDFSBlocksDistribution.HostAndWeight> |
getHostAndWeights() |
java.util.List<java.lang.String> |
getTopHosts()
return the sorted list of hosts in terms of their weights
|
HDFSBlocksDistribution.HostAndWeight[] |
getTopHostsWithWeights()
return the sorted list of hosts in terms of their weights
|
long |
getUniqueBlocksTotalWeight() |
long |
getWeight(java.lang.String host)
return the weight for a specific host, that will be the total bytes of all
blocks on the host
|
java.lang.String |
toString() |
public java.lang.String toString()
toString
in class java.lang.Object
Object.toString()
public void addHostsAndBlockWeight(java.lang.String[] hosts, long weight)
hosts
- the list of the hostweight
- the weightpublic java.util.Map<java.lang.String,HDFSBlocksDistribution.HostAndWeight> getHostAndWeights()
public long getWeight(java.lang.String host)
host
- the host namepublic long getUniqueBlocksTotalWeight()
public float getBlockLocalityIndex(java.lang.String host)
host
- the host namepublic void add(HDFSBlocksDistribution otherBlocksDistribution)
otherBlocksDistribution
- the other hdfs blocks distributionpublic java.util.List<java.lang.String> getTopHosts()
public HDFSBlocksDistribution.HostAndWeight[] getTopHostsWithWeights()