Compartir a través de


Operador sample

Se aplica a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft 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 un union operador o join ). Se recomienda usar sample justo después de la referencia de tabla y los filtros.
  • sample es un operador no determinista y devolverá 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

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

Salida

x
83
3

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

Para muestrear un determinado porcentaje de los datos (en lugar de un número especificado de filas), puede usar

StormEvents | where rand() < 0.1

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 in operador .

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