Udostępnij za pośrednictwem


przykładowy operator

Dotyczy: ✅Microsoft Fabric

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 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| sampleNumberOfRows

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

W przykładzie w tej sekcji pokazano, jak używać składni, aby ułatwić rozpoczęcie pracy.

Przykłady w tym artykule używają publicznie dostępnych tabel w pomocy klastra, takich jak tabela StormEvents w bazie danych przykładów.

Przykłady w tym artykule używają publicznie dostępnych tabel, takich jak tabela StormEvents w przykładowej analizie pogody przykładowych danych.

Generowanie przykładu

To zapytanie tworzy zakres liczb, próbkuje jedną wartość, a następnie duplikuje tę próbkę.

let _data = range x from 1 to 100 step 1;
let _sample = _data | sample 1;
union (_sample), (_sample)

Wyjście

x
74
63

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
24
24

Generowanie próbki określonej wartości procentowej danych

Aby próbkować określony procent danych (a nie określoną liczbę wierszy), możesz użyć

StormEvents | where rand() < 0.1

Wyjście

Tabela zawiera kilka pierwszych wierszy danych wyjściowych. Uruchom zapytanie, aby wyświetlić pełny wynik.

Godzina rozpoczęcia Godzina zakończenia EpisodeId Identyfikator zdarzenia Stan EventType
2007-01-01T00:00:00Z 2007-01-20T10:24:00Z 2403 11914 INDIANA Powódź
2007-01-01T00:00:00Z 2007-01-24T18:47:00Z 2408 11930 INDIANA Powódź
2007-01-01T00:00:00Z 2007-01-01T12:00:00Z 1979 12631 DELAWARE Ulewny deszcz
2007-01-01T00:00:00Z 2007-01-01T00:00:00Z 2592 13208 KAROLINA PÓŁNOCNA Burza wiatru
2007-01-01T00:00:00Z 2007-01-31T23:59:00Z 1492 7069 MINNESOTA Susza
2007-01-01T00:00:00Z 2007-01-31T23:59:00Z 2240 10858 TEKSAS Susza
... ... ... ... ... ...

Generowanie przykładu kluczy

Aby próbkować klucze, a nie wiersze (na przykład — przykładowe 10 identyfikatorów i pobierać wszystkie wiersze dla tych identyfikatorów), możesz użyć sample-distinct w połączeniu z operatorem in.

let sampleEpisodes = StormEvents | sample-distinct 10 of EpisodeId;
StormEvents
| where EpisodeId in (sampleEpisodes)

Wyjście

Tabela zawiera kilka pierwszych wierszy danych wyjściowych. Uruchom zapytanie, aby wyświetlić pełny wynik.

Godzina rozpoczęcia Godzina zakończenia EpisodeId Identyfikator zdarzenia Stan EventType
2007-09-18T20:00:00Z 2007-09-19T18:00:00Z 11074 60904 FLORYDA Ulewny deszcz
2007-09-20T21:57:00Z 2007-09-20T22:05:00Z 11078 60913 FLORYDA Tornado
2007-09-29T08:11:00Z 2007-09-29T08:11:00Z 11091 61032 POŁUDNIE ATLANTYCKIE Wodopoje
2007-12-07T14:00:00Z 2007-12-08T04:00:00Z 13183 73241 SAMOA AMERYKAŃSKIE Powodzia błyskawiczna
2007-12-11T21:45:00Z 2007-12-12T16:45:00Z 12826 70787 KANSAS Powódź
2007-12-13T09:02:00Z 2007-12-13T10:30:00Z 11780 64725 KENTUCKY Powódź
... ... ... ... ... ...