sample 運算子
從輸入數據表傳回最多指定的隨機數據列數目。
注意
-
sample
是針對速度,而不是甚至分配值。 具體來說,這表示在運算符之後使用不同大小的聯集 2 數據集(例如union
或join
運算符)時,它不會產生「公平」結果。 建議您在資料表參考和篩選之後立即使用sample
。 -
sample
是一個不具決定性的運算符,而且每次在查詢期間評估結果集時,都會傳回不同的結果集。 例如,下列查詢會產生兩個不同的數據列(即使一個預期傳回相同的數據列兩次也一樣)。
語法
T| sample
NumberOfRows
深入瞭解 語法慣例。
參數
姓名 | 類型 | 必要 | 描述 |
---|---|---|---|
T | string |
✔️ | 輸入表格式表達式。 |
NumberOfRows | int、long 或 real | ✔️ | 要傳回的資料列數目。 您可以指定任何數值表示式。 |
範例
本節中的範例示範如何使用 語法來協助您開始使用。
本文中的範例會使用 說明叢集中公開可用的數據表,例如 Samples 資料庫中的
StormEvents
數據表。
本文中的範例會使用公開可用的數據表,例如天氣分析中的
StormEvents
數據表,範例數據。
產生範例
此查詢會建立一系列數位、取樣一個值,然後複製該範例。
let _data = range x from 1 to 100 step 1;
let _sample = _data | sample 1;
union (_sample), (_sample)
輸出
x |
---|
74 |
63 |
為了確保在上述 _sample
範例中計算一次,可以使用 materialize() 函式:
let _data = range x from 1 to 100 step 1;
let _sample = materialize(_data | sample 1);
union (_sample), (_sample)
輸出
x |
---|
24 |
24 |
產生特定百分比數據的範例
若要取樣特定百分比的數據(而不是指定的數據列數目),您可以使用
StormEvents | where rand() < 0.1
輸出
數據表包含輸出的前幾個數據列。 執行查詢以檢視完整的結果。
StartTime | EndTime | EpisodeId | EventId | 州 | EventType |
---|---|---|---|---|---|
2007-01-01T00:00:00Z | 2007-01-20T10:24:00Z | 2403 | 11914 | 印第安那州 | 洪水 |
2007-01-01T00:00:00Z | 2007-01-24T18:47:00Z | 2408 | 11930 | 印第安那州 | 洪水 |
2007-01-01T00:00:00Z | 2007-01-01T12:00:00Z | 1979 | 12631 | 特拉華州 | 大雨 |
2007-01-01T00:00:00Z | 2007-01-01T00:00:00Z | 2592 | 13208 | 北卡羅來納州 | 雷暴風 |
2007-01-01T00:00:00Z | 2007-01-31T23:59:00Z | 1492 | 7069 | 明尼蘇達州 | 乾旱 |
2007-01-01T00:00:00Z | 2007-01-31T23:59:00Z | 2240 | 10858 | 德克薩斯州 | 乾旱 |
... | ... | ... | ... | ... | ... |
產生金鑰範例
若要取樣索引鍵而非數據列(例如 - 範例 10 標識符並取得這些標識碼的所有數據列),您可以搭配 in
運算符使用 sample-distinct
。
let sampleEpisodes = StormEvents | sample-distinct 10 of EpisodeId;
StormEvents
| where EpisodeId in (sampleEpisodes)
輸出
數據表包含輸出的前幾個數據列。 執行查詢以檢視完整的結果。
StartTime | EndTime | EpisodeId | EventId | 州 | EventType |
---|---|---|---|---|---|
2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | 佛羅里達州 | 大雨 |
2007-09-20T21:57:00Z | 2007-09-20T22:05:00Z | 11078 | 60913 | 佛羅里達州 | 龍捲風 |
2007-09-29T08:11:00Z | 2007-09-29T08:11:00Z | 11091 | 61032 | 大西洋南部 | 沃特斯普特 |
2007-12-07T14:00:00Z | 2007-12-08T04:00:00Z | 13183 | 73241 | 美屬薩摩亞 | 暴洪 |
2007-12-11T21:45:00Z | 2007-12-12T16:45:00Z | 12826 | 70787 | 堪薩斯州 | 洪水 |
2007-12-13T09:02:00Z | 2007-12-13T10:30:00Z | 11780 | 64725 | 肯塔基州 | 洪水 |
... | ... | ... | ... | ... | ... |