Instrucciones de expresión tabularTabular expression statements

La instrucción de expresión tabular es lo que los usuarios suelen tener en cuenta al hablar sobre las consultas.The tabular expression statement is what people usually have in mind when they talk about queries. Esta instrucción normalmente aparece en último lugar en la lista de instrucciones y tanto su entrada como su salida se componen de tablas o conjuntos de datos tabulares.This statement usually appears last in the statement list, and both its input and its output consists of tables or tabular data sets.

Kusto usa un modelo de flujo de datos para la instrucción de expresión tabular.Kusto uses a data flow model for the tabular expression statement. La estructura típica de una instrucción de expresión tabular es una composición de orígenes de datos tabulares (como tablas Kusto), operadores de datos tabulares (como filtros y proyecciones) y operadores de representaciónpotencialmente.The typical structure of a tabular expression statement is a composition of tabular data sources (such as Kusto tables), tabular data operators (such as filters and projections), and potentially rendering operators. La composición se representa mediante el carácter de barra|vertical (), lo que permite que la instrucción sea una forma muy regular que representa visualmente el flujo de datos tabulares de izquierda a derecha.The composition is represented by the pipe character (|), giving the statement a very regular form that visually represents the flow of tabular data from left to right. Cada operador acepta un conjunto de datos tabular "de la canalización" y entradas adicionales (incluidos otros conjuntos de datos tabulares) del cuerpo del operador y, a continuación, emite un conjunto de datos tabulares para el siguiente operador:Each operator accepts a tabular data set "from the pipe", and additional inputs (including other tabular data sets) from the body of the operator, then emits a tabular data set to the next operator that follows:

Source1 | operator1 operator2 renderInstruction | |source1 | operator1 | operator2 | renderInstruction

En el ejemplo siguiente, el origen es Logs (una referencia a una tabla en la base de datos actual), el primer where operador es (que filtra los registros de su entrada de acuerdo con algún predicado por registro) y el segundo operador count.(que cuenta el número de registros en su conjunto de datos de entrada):In the following example, the source is Logs (a reference to a table in the current database), the first operator is where (which filter out records from its input according to some per-record predicate), and the second operator is count (which counts the number of records in its input data set):

Logs | where Timestamp > ago(1d) | count

En el siguiente ejemplo más complejo, el join operador se usa para combinar registros de dos conjuntos de datos de entrada: uno que es un filtro Logs de la tabla y otro que es un filtro de Events la tabla.In the following more complex example, the join operator is used to combine records from two input data sets: one which is a filter on the Logs table, and another which is a filter on the Events table.

Logs 
| where Timestamp > ago(1d) 
| join 
(
    Events 
    | where continent == 'Europe'
) on RequestId 

Orígenes de datos tabularesTabular data sources

Un origen de datos tabular genera conjuntos de registros, que se van a procesar posteriormente mediante operadores de datos tabulares.A tabular data source produces sets of records, to be further processed by tabular data operators. Kusto admite varios orígenes:Kusto supports a number of these sources:

  • Referencias de tabla (que hacen referencia a una tabla Kusto, en la base de datos de contexto o en otra base de datos o clúster).Table references (which refer to a Kusto table, in the context database or some other cluster/database.)
  • Operador de intervalotabular.The tabular range operator.
  • Operador de impresión.The print operator.
  • Una invocación de una función que devuelve una tabla.An invocation of a function that returns a table.
  • Un literal de tabla ("DataTable").A table literal ("datatable").