Udostępnij za pomocą


CREATE TABLE

✅ Strumień zdarzeń usługi Azure Stream Analytics ✅ Fabric

Instrukcja CREATE TABLE służy do definiowania schematu ładunku zdarzeń przychodzących do usługi Azure Stream Analytics. Dzięki temu użytkownik może jawnie zdefiniować typy danych każdej nazwanej kolumny dla ładunku zdarzeń przychodzących. Spowoduje to powiadomienie o zadaniu schematu wejściowego i uniemożliwi wnioskowanie typu.

Uwaga / Notatka

Aby porównać różne opcje dostępne do konwersji typów, zobacz rzutowanie danych

Ważne jest, aby zrozumieć, że tabela CREATE NIE tworzy żadnej tabeli. FUNKCJA CREATE TABLE definiuje tylko typ danych każdej kolumny w ładunku aliasu wejściowego. Ten alias wejściowy to ten, który został utworzony w sekcji "Dodaj dane wejściowe" portalu. W przypadku braku takiej deklaracji kompilator wywnioskuje typ danych kolumn.

W przypadku błędów konwersji funkcja CREATE TABLE usunie wiersze ze strumienia. Wiersze błędu zostaną przeniesione do dzienników diagnostycznych z następującą klasyfikacją:

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

Oznacza to, że funkcja CREATE TABLE nie może służyć do konwertowania typów między oryginalnym formatem (CSV, JSON.). FUNKCJA CREATE TABLE może służyć tylko do jawnego informowania kompilatora typów, których można oczekiwać, więc odchylenia można usunąć ze strumienia. Jeśli należy dokonać konwersji, należy wykonać ją w późniejszym kroku zapytania przy użyciu funkcji CAST lub TRY_CAST.

Składnia

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

Argumenty (w programowaniu)

  • nazwa_tabeli

    Nazwa strumienia wejściowego, z którego pochodzą dane. Ta nazwa musi być zgodna z aliasem wejściowym utworzonym w sekcji "Dodawanie danych wejściowych" w portalu usługi Azure Stream Analytics.

  • nazwa_kolumny

    Nazwa kolumny w ładunku zdarzenia przychodzącego. Jeśli w ładunku nie ma nazw kolumn, nazwy domyślne kolumny1, kolumny2, ... są generowane przez system i powinny być używane tutaj w instrukcji CREATE TABLE.

  • typ danych

    Typy danych obsługiwane przez usługę Azure Stream Analytics. Zobacz Typy danych.

Przykłady

Przy użyciu następującego schematu wejściowego (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
  }

Możemy użyć następującej instrukcji 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)