Operador sample
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Devuelve hasta el número especificado de filas aleatorias de la tabla de entrada.
Nota:
-
sample
está orientado a la velocidad en lugar de incluso a la distribución de valores. En concreto, significa que no generará resultados "justos" si se usan después de los operadores que union 2 conjuntos de datos de tamaños diferentes (como ununion
operador ojoin
). Se recomienda usarsample
justo después de la referencia de tabla y los filtros. -
sample
es un operador no determinista y devuelve un conjunto de resultados diferente cada vez que se evalúa durante la consulta. Por ejemplo, la consulta siguiente produce dos filas diferentes (incluso si se espera que se devuelva la misma fila dos veces).
Sintaxis
T| sample
NumberOfRows
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
T | string |
✔️ | Expresión tabular de entrada. |
NumberOfRows | int, long o real | ✔️ | Número de filas que se va a devolver. Puede especificar cualquier expresión numérica. |
Ejemplos
En el ejemplo de esta sección se muestra cómo usar la sintaxis para ayudarle a empezar.
En los ejemplos de este artículo se usan tablas disponibles públicamente en el clúster de , como la tabla
StormEvents
de la base de datos ejemplos de.
En los ejemplos de este artículo se usan tablas disponibles públicamente, como la tabla
StormEvents
del análisis meteorológico datos de ejemplo.
Generación de un ejemplo
Esta consulta crea un intervalo de números, muestra un valor y, a continuación, duplica ese ejemplo.
let _data = range x from 1 to 100 step 1;
let _sample = _data | sample 1;
union (_sample), (_sample)
Salida
x |
---|
74 |
63 |
Para asegurarse de que en el ejemplo anterior _sample
se calcula una vez, puede usar la función materialize():
let _data = range x from 1 to 100 step 1;
let _sample = materialize(_data | sample 1);
union (_sample), (_sample)
Salida
x |
---|
24 |
24 |
Generación de un ejemplo de un determinado porcentaje de datos
Para muestrear un determinado porcentaje de los datos (en lugar de un número especificado de filas), puede usar
StormEvents | where rand() < 0.1
Salida
La tabla contiene las primeras filas de la salida. Ejecute la consulta para ver el resultado completo.
StartTime | EndTime | EpisodeId | EventId | Estado | EventType |
---|---|---|---|---|---|
2007-01-01T00:00:00Z | 2007-01-20T10:24:00Z | 2403 | 11914 | INDIANA | Inundación |
2007-01-01T00:00:00Z | 2007-01-24T18:47:00Z | 2408 | 11930 | INDIANA | Inundación |
2007-01-01T00:00:00Z | 2007-01-01T12:00:00Z | 1979 | 12631 | DELAWARE | Lluvia intensa |
2007-01-01T00:00:00Z | 2007-01-01T00:00:00Z | 2592 | 13208 | CAROLINA DEL NORTE | Viento de tormenta |
2007-01-01T00:00:00Z | 2007-01-31T23:59:00Z | 1492 | 7069 | MINNESOTA | Sequía |
2007-01-01T00:00:00Z | 2007-01-31T23:59:00Z | 2240 | 10858 | TEXAS | Sequía |
... | ... | ... | ... | ... | ... |
Generación de un ejemplo de claves
Para obtener claves de ejemplo en lugar de filas (por ejemplo, 10 identificadores de ejemplo y obtener todas las filas de estos identificadores), puede usar sample-distinct
en combinación con el operador in
.
let sampleEpisodes = StormEvents | sample-distinct 10 of EpisodeId;
StormEvents
| where EpisodeId in (sampleEpisodes)
Salida
La tabla contiene las primeras filas de la salida. Ejecute la consulta para ver el resultado completo.
StartTime | EndTime | EpisodeId | EventId | Estado | EventType |
---|---|---|---|---|---|
2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | FLORIDA | Lluvia intensa |
2007-09-20T21:57:00Z | 2007-09-20T22:05:00Z | 11078 | 60913 | FLORIDA | Tornado |
2007-09-29T08:11:00Z | 2007-09-29T08:11:00Z | 11091 | 61032 | SUR DEL ATLÁNTICO | Tromba |
2007-12-07T14:00:00Z | 2007-12-08T04:00:00Z | 13183 | 73241 | SAMOA AMERICANA | Inundación |
2007-12-11T21:45:00Z | 2007-12-12T16:45:00Z | 12826 | 70787 | KANSAS | Inundación |
2007-12-13T09:02:00Z | 2007-12-13T10:30:00Z | 11780 | 64725 | KENTUCKY | Inundación |
... | ... | ... | ... | ... | ... |