hadoop源碼中實現權重0.75(Volum選擇中的算法)

這個算法簡單

float preferencePercentScaler =
    (highAvailableVolumes.size() * balancedPreferencePercent) +
    (lowAvailableVolumes.size() * (1 - balancedPreferencePercent));
float scaledPreferencePercent =
    (highAvailableVolumes.size() * balancedPreferencePercent) /
    preferencePercentScaler;
...
random.nextFloat() < scaledPreferencePercent) 

其中 highAvailableVolumes.size() 理解爲事件A出現X1次, lowAvailableVolumes.size()理解爲事件B出現X2

balancedPreferencePercent  是給事件A權重

期望值值 E(x)=ixip(xi) (代碼中preferencePercentScaler就是期望值)

scaledPreferencePercent變量X1在期望值中所佔的比例,scaledPreferencePercent實際上纔是事件A被選中的概率

scaledPreferencePercent值隨X1的出現而變大

歡迎提問



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章