Ich möchte ein UDF erstellen, um Werte basierend auf verschiedenen Wahrscheinlichkeiten zufällig zuzuweisen.UDF zum zufälligen Zuweisen von Werten basierend auf verschiedenen Wahrscheinlichkeiten
In dem folgende Beispiel des vom Rande zurückgegebene Wertes abhängig:
- 0 zu 0.5 Der Wert sollte A (50% Wahrscheinlichkeit)
- 0,8-1 sollte der Wert B (20% Wahrscheinlichkeit,)
- etwas anderes sollte der Wert c (30% Wahrscheinlichkeit)
val names = Array("A", "B", "C")
Wenn ich jedoch das Ergebnis drucke, werden die Namen nicht basierend auf den in der UDF definierten Regeln zugewiesen.
+---+----+----+
| id| val|name|
+---+----+----+
| 0|0.17| C| => should be A
| 1|0.12| A|
| 2|0.36| A|
| 3|0.56| B|
| 4|0.82| A|=> should be C