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 jakunion
operatory lubjoin
). Zaleca się użyciesample
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| 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
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ź |
... | ... | ... | ... | ... | ... |