Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
✅ Azure Stream Analytics ✅ Fabric Eventstream
A CREATE TABLE utasítás az Azure Stream Analyticsbe érkező események hasznos adatainak sémájának meghatározására szolgál. Ez lehetővé teszi a felhasználó számára, hogy explicit módon határozza meg az egyes elnevezett oszlopok adattípusait a bejövő események hasznos adataihoz. Ez tájékoztatja a feladatot a bemeneti sémáról, és megakadályozza a típuskövetkeztetést.
Megjegyzés:
A típuskonvertáláshoz elérhető különböző lehetőségek összehasonlításához tekintse meg az adatbeosztási adatokat
Fontos tisztában lenni azzal, hogy a CREATE TABLE valójában nem hoz létre táblát. A CREATE TABLE csak az egyes oszlopok adattípusát határozza meg egy bemeneti alias hasznos adataiban. Ez a bemeneti alias lett létrehozva a portál "Bemenet hozzáadása" szakaszában. Ilyen deklaráció hiányában a fordító az oszlopok adattípusát fogja következtetni.
Konverziós hibák esetén a CREATE TABLE elveti a sorokat a streamből. A hibasorokat a rendszer a következő besorolással helyezi át a diagnosztikai naplókba:
"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"
Ez azt jelenti, hogy a CREATE TABLE nem használható típusok konvertálására az eredeti formátum (CSV, JSON..) és az új formátum között. A CREATE TABLE csak arra használható, hogy explicit módon tájékoztassa a fordítót a várható típusokról, így az eltérések eltávolíthatók a streamből. Ha átalakítást kell végezni, azt egy későbbi lekérdezési lépésben kell elvégezni a CAST vagy TRY_CAST használatával.
Szemantika
CREATE TABLE
table_name
( column_name <data_type> [ ,...n ] );
Érvek
table_name
Annak a bemeneti adatfolyamnak a neve, amelyből az adatok származnak. Ennek a névnek meg kell egyeznie az Azure Stream Analytics portál "Bemenet hozzáadása" szakaszában létrehozott bemeneti alias nevével.
oszlop_név
A bejövő esemény hasznos adataiban lévő oszlop neve. Ha a hasznos adatban nincsenek oszlopnevek, akkor az 1. oszlop, oszlop2, ... a rendszer hozza létre, és itt kell használni a CREATE TABLE utasításban.
adat_típus
Az Azure Stream Analytics által támogatott adattípusok. Lásd az adattípusokat.
Példák
A következő bemeneti sémával (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
}
A következő CREATE TABLE utasítást használhatjuk:
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)