przykładowy operator
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Zwraca maksymalnie określoną liczbę losowych wierszy z tabeli wejściowej.
Uwaga
sample
jest nastawiony na szybkość, a nie nawet rozkład wartości. W szczególności oznacza to, że nie będzie generować "sprawiedliwych" wyników, jeśli zostaną użyte po operatorach, które tworzą 2 zestawy danych o różnych rozmiarach (takich jakunion
operatory lubjoin
). Zaleca się użyciesample
bezpośrednio po odwołaniu do tabeli i filtrach.sample
jest operatorem niedeterministycznym i będzie zwracać inny zestaw wyników za każdym razem, gdy jest obliczany podczas zapytania. Na przykład następujące zapytanie zwraca dwa różne wiersze (nawet jeśli jeden z nich dwukrotnie zwróci ten sam wiersz).
Składnia
T | sample
NumberOfRows
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
T | string |
✔️ | Wyrażenie tabelaryczne danych wejściowych. |
NumberOfRows | int, long lub real | ✔️ | Liczba wierszy do zwrócenia. Możesz określić dowolne wyrażenie liczbowe. |
Przykłady
let _data = range x from 1 to 100 step 1;
let _sample = _data | sample 1;
union (_sample), (_sample)
Wyjście
x |
---|
83 |
3 |
Aby upewnić się, że w przykładzie powyżej _sample
jest obliczana raz, można użyć funkcji materialize():
let _data = range x from 1 to 100 step 1;
let _sample = materialize(_data | sample 1);
union (_sample), (_sample)
Wyjście
x |
---|
34 |
34 |
Aby próbkować określony procent danych (a nie określoną liczbę wierszy), możesz użyć
StormEvents | where rand() < 0.1
Aby próbkować klucze, a nie wiersze (na przykład — przykładowe 10 identyfikatorów i pobierać wszystkie wiersze dla tych identyfikatorów), można użyć sample-distinct
w połączeniu z operatorem in
.
let sampleEpisodes = StormEvents | sample-distinct 10 of EpisodeId;
StormEvents
| where EpisodeId in (sampleEpisodes)