Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
✅ Azure Stream Analytics ✅ Fabric Eventstream
De INSTRUCTIE CREATE TABLE wordt gebruikt om het schema te definiëren van de nettolading van de gebeurtenissen die binnenkomen in Azure Stream Analytics. Hierdoor kan de gebruiker expliciet de gegevenstypen van elke benoemde kolom definiëren voor de nettolading van binnenkomende gebeurtenissen. Hiermee wordt de taak van het invoerschema geïnformeerd en wordt typedeductie voorkomen.
Opmerking
Zie cast-gegevens voor het vergelijken van de verschillende opties die beschikbaar zijn voor typeconversie
Het is belangrijk te weten dat CREATE TABLE geen tabel maakt. CREATE TABLE definieert alleen het gegevenstype van elke kolom in de nettolading van een invoeralias. Deze invoeralias is de alias die is gemaakt in de sectie Invoer toevoegen van de portal. Als een dergelijke declaratie ontbreekt, leidt de compiler het gegevenstype van de kolommen af.
Als er conversiefouten optreden, worden de rijen uit de stream verwijderd door CREATE TABLE. De rijen in de fout worden verplaatst naar de diagnostische logboeken met de volgende classificatie:
"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"
Dit betekent dat CREATE TABLE niet kan worden gebruikt om typen te converteren tussen de oorspronkelijke indeling (CSV, JSON..) en nieuwe. CREATE TABLE kan alleen worden gebruikt om de compiler expliciet op de hoogte te stellen van de verwachte typen, zodat afwijkingen uit de stroom kunnen worden verwijderd. Als een conversie moet worden uitgevoerd, moet deze in een latere querystap worden uitgevoerd met behulp van CAST of TRY_CAST.
Syntaxis
CREATE TABLE
table_name
( column_name <data_type> [ ,...n ] );
Argumenten
tabelnaam
De naam van de invoerstroom waaruit de gegevens afkomstig zijn. Deze naam moet overeenkomen met de invoeralias die is gemaakt in de sectie Invoer toevoegen van de Azure Stream Analytics-portal.
kolomnaam
De naam van de kolom in de nettolading van de binnenkomende gebeurtenis. Als er geen kolomnamen in de nettolading staan, dan standaardnamen van kolom1, kolom2, ... worden gegenereerd door het systeem en moeten hier worden gebruikt in de instructie CREATE TABLE.
gegevenstype
De gegevenstypen die worden ondersteund door Azure Stream Analytics. Zie gegevenstypen.
Voorbeelden
Met het volgende invoerschema (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
}
We kunnen de volgende CREATE TABLE-instructie gebruiken:
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)