Поделиться через


СОЗДАТЬ ТАБЛИЦУ

✅ Поток событий Azure Stream Analytics ✅ Fabric

Инструкция CREATE TABLE используется для определения схемы полезных данных событий, поступающих в Azure Stream Analytics. Это позволяет пользователю явно определять типы данных каждого именованного столбца для полезных данных входящих событий. Это позволит сообщить о задании входной схемы и предотвратить вывод типов.

Замечание

Сравнение различных параметров, доступных для преобразования типов, см. сведения о приведения данных

Важно понимать, что CREATE TABLE не создает таблицу. CREATE TABLE определяет только тип данных каждого столбца в полезных данных входного псевдонима. Этот псевдоним ввода является тем, который был создан в разделе "Добавить входные данные" на портале. В отсутствие такого объявления компилятор будет выводить тип данных столбцов.

В случае ошибок преобразования CREATE TABLE удаляет строки из потока. Строки в ошибках будут перемещены в журналы диагностики со следующей классификацией:

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

Это означает, что create TABLE нельзя использовать для преобразования типов между исходным форматом (CSV, JSON.).) и новыми. CREATE TABLE можно использовать только для явного информирования компилятора о ожидаемых типах, поэтому отклонения можно удалить из потока. Если необходимо выполнить преобразование, его необходимо выполнить в следующем шаге запроса с помощью CAST или TRY_CAST.

Синтаксис

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

Аргументы

  • имя_таблицы

    Имя входного потока, из которого передаются данные. Это имя должно соответствовать псевдониму ввода, созданному в разделе "Добавление входных данных" на портале Azure Stream Analytics.

  • имя_столбца

    Имя столбца в полезных данных входящего события. Если в полезных данных нет имен столбцов, то имена столбцов по умолчанию столбца1, column2, ... создаются системой и должны использоваться здесь в инструкции CREATE TABLE.

  • тип данных

    Типы данных, поддерживаемые Azure Stream Analytics. См. сведения о типах данных.

Примеры

С помощью следующей входной схемы (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
  }

Мы можем использовать следующую инструкцию 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)