CREATE TABLE (Stream Analytics)
A CREATE TABLE utasítás az Azure Stream Analyticsbe érkező események hasznos adatainak sémáját határozza meg. Ez lehetővé teszi, hogy a felhasználó explicit módon definiálja 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 adatok kiosztását
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átumok 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ásra van szükség, azt egy későbbi lekérdezési lépésben kell elvégezni a CAST vagy a TRY_CAST használatával.
Szintaxis
CREATE TABLE
table_name
( column_name <data_type> [ ,...n ] );
Argumentumok
table_name
Annak a bemeneti adatfolyamnak a neve, ahonnan 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 aliasszal.
column_name
A bejövő esemény hasznos adataiban lévő oszlop neve. Ha a hasznos adatban nincsenek oszlopnevek, akkor az oszlop1, oszlop2, ... alapértelmezett nevei. a rendszer hozza létre, és itt kell használni a CREATE TABLE utasításban.
data_type
Az Azure Stream Analytics által támogatott adattípusok. Lásd: Adattípusok (Azure Stream Analytics).
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)
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: