Udostępnij za pośrednictwem


przykładowy operator

Dotyczy: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft 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 jak union operatory lub join ). Zaleca się użycie sample 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)