Compartir a través de


CREAR TABLA

✅ Secuencia de eventos de Azure Stream Analytics ✅ Fabric

La instrucción CREATE TABLE se usa para definir el esquema de la carga de los eventos que entran en Azure Stream Analytics. Esto permite al usuario definir explícitamente los tipos de datos de cada columna con nombre para la carga de eventos entrantes. Esto informará al trabajo del esquema de entrada y evitará la inferencia de tipos.

Nota:

Para comparar las distintas opciones disponibles para la conversión de tipos, consulte Conversión de datos.

Es importante comprender que CREATE TABLE no crea realmente ninguna tabla. CREATE TABLE solo define el tipo de datos de cada columna en la carga de un alias de entrada. Este alias de entrada es el que se ha creado en la sección "Agregar entrada" del portal. En ausencia de dicha declaración, el compilador deducirá el tipo de datos de las columnas.

En caso de errores de conversión, CREATE TABLE quitará las filas de la secuencia. Las filas en error se moverán a los registros de diagnóstico con la siguiente clasificación:

"Type": "DataError",
"DataErrorType": "InputDeserializerError.InvalidData",
"BriefMessage": "Could not deserialize the input event(s) from resource ... . Some possible reasons: 1) Malformed events 2) Input source configured with incorrect serialization format",
"ErrorCode": "InputDeserializationError",
"ErrorCategory": "DataError"

Esto significa que CREATE TABLE no se puede usar para convertir tipos entre el formato original (CSV, JSON.).) y otros nuevos. CREATE TABLE solo se puede usar para informar explícitamente al compilador de los tipos que se esperan, por lo que las desviaciones se pueden quitar de la secuencia. Si es necesario realizar una conversión, debe realizarse en un paso de consulta posterior mediante CAST o TRY_CAST.

Sintaxis

CREATE TABLE   
    table_name   
    ( column_name <data_type> [ ,...n ] );  
  

Argumentos

  • nombre_de_tabla

    Nombre del flujo de entrada del que proceden los datos. Este nombre debe coincidir con el alias de entrada creado en la sección "Agregar entrada" del portal de Azure Stream Analytics.

  • nombre de columna

    Nombre de la columna en la carga del evento entrante. Si no hay nombres de columna en la carga, los nombres predeterminados de column1, column2, ... son generados por el sistema y deben usarse aquí en la instrucción CREATE TABLE.

  • data_type

    Tipos de datos compatibles con Azure Stream Analytics. Consulte Tipos de datos.

Ejemplos

Con el siguiente esquema de entrada (JSON):

  {
    "TollId":1,
    "EntryTime":"2014-09-10T12:11:00.0000000Z",
    "LicensePlate":"NJB 1006",
    "State":"CT",
    "Make":"Ford",
    "Model":"Focus",
    "VehicleType":1,
    "VehicleWeight":0,
    "Toll":4.5,
    "Tag":678912345
  }

Podemos usar la siguiente instrucción CREATE TABLE:

CREATE TABLE Entry (
	TollId bigint,
	EntryTime datetime,
	LicensePlate nvarchar(max),
	State nvarchar(max),
	Make nvarchar(max),
	Model nvarchar(max),
	VehicleType bigint,
	VehicleWeight float,
	Toll float,
	Tag bigint
);

SELECT
	DATEADD(hour,-1,System.Timestamp()) AS WindowStart,
	System.Timestamp AS WindowEnd,
	TollId,
	SUM(Toll) AS TollTotal -- guaranteed to be a float
INTO MyOutput
FROM Entry TIMESTAMP BY EntryTime -- guaranteed to be a timestamp
GROUP BY TollId, Tumbling(hour,1)