[ https://issues.apache.org/jira/browse/DATAFU21?page=com.atlassian.jira.plugin.system.issuetabpanels:commenttabpanel&focusedCommentId=13963731#comment13963731
]
Xiangrui Meng commented on DATAFU21:

Jian, the main problem is not solving the equation but the size of the equation. The lefthand
side of the equation is monotone, so the simplest way to solve it is bisection. However,
the number of weights is the same as the number of records, which may be very large. This
is why I said you need to discretize the weights and compress the data in my previous comment.
Assume that there are 10000 weights in the same partition between [0.6, 0.600001]. You can
treat all of them as 0.6 and remember the count 10000. Then, you compress the data size from
10000 to 2 (weight and count). In this way, you can solve the equation on a single reducer.
> Probability weighted sampling without reservoir
> 
>
> Key: DATAFU21
> URL: https://issues.apache.org/jira/browse/DATAFU21
> Project: DataFu
> Issue Type: New Feature
> Environment: Mac OS, Linux
> Reporter: jian wang
> Assignee: jian wang
>
> This issue is used to track investigation on finding a weighted sampler without using
internal reservoir.
> At present, the SimpleRandomSample has implemented a good acceptancerejection sampling
algo on probability random sampling. The weighted sampler could utilize the simple random
sample with slight modification.
> One slight modification is: the present simple random sample generates a uniform random
number lies between (0, 1) as the random variable to accept or reject an item. The weighted
sample may generate this random variable based on the item's weight and this random number
still lies between (0, 1) and each item's random variable remain independent between each
other.
> Need further think and experiment the correctness of this solution and how to implement
it in an effective way.

This message was sent by Atlassian JIRA
(v6.2#6252)
