Operátor sample
Vrátí až zadaný počet náhodných řádků ze vstupní tabulky.
Poznámka
sample
je určená pro rychlost, nikoli pro rovnoměrné rozdělení hodnot. Konkrétně to znamená, že při použití po operátorech, které sjednocují 2 datové sady různých velikostí (jakounion
jsou operátory nebojoin
), nevytvoří "spravedlivé" výsledky. Doporučujeme použítsample
hned za odkazem na tabulku a filtry.sample
je ne deterministický operátor a při každém vyhodnocení během dotazu vrátí jinou sadu výsledků. Například následující dotaz vynese dva různé řádky (i když by jeden z nich očekával, že vrátí stejný řádek dvakrát).
Syntax
T| sample
NumberOfRows
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Typ | Vyžadováno | Popis |
---|---|---|---|
T | string |
✔️ | Vstupní tabulkový výraz. |
NumberOfRows | int, long nebo real | ✔️ | Počet řádků, které se mají vrátit. Můžete zadat libovolný číselný výraz. |
Příklady
let _data = range x from 1 to 100 step 1;
let _sample = _data | sample 1;
union (_sample), (_sample)
Výstup
x |
---|
83 |
3 |
Abyste zajistili, že se ve výše uvedeném _sample
příkladu vypočítá jednou, můžete použít funkci materialize():
let _data = range x from 1 to 100 step 1;
let _sample = materialize(_data | sample 1);
union (_sample), (_sample)
Výstup
x |
---|
34 |
34 |
Pokud chcete vzorkovat určité procento dat (místo zadaného počtu řádků), můžete použít
StormEvents | where rand() < 0.1
Pokud chcete místo řádků vzorkovat klíče (například 10 ID a získat všechny řádky pro tato ID), můžete použít sample-distinct
v kombinaci s operátorem in
.
let sampleEpisodes = StormEvents | sample-distinct 10 of EpisodeId;
StormEvents
| where EpisodeId in (sampleEpisodes)
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro