Adatok átalakítása szkripttevékenység használatával az Azure Data Factoryben vagy a Synapse Analyticsben
A következőkre vonatkozik: Azure Data Factory
Azure Synapse Analytics
Tipp.
Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!
A Data Factoryben vagy a Synapse-folyamatban adatátalakítási tevékenységeket használva alakíthatja át és dolgozhatja fel a nyers adatokat előrejelzésekké és elemzésekké. A szkripttevékenység az egyik olyan átalakítási tevékenység, amelyet a folyamatok támogatnak. Ez a cikk az adatátalakításról szóló cikkre épül, amely általános áttekintést nyújt az adatátalakításról és a támogatott átalakítási tevékenységekről.
A szkripttevékenység használatával általános műveleteket hajthat végre az adatkezelési nyelvvel (DML) és az adatdefiníciós nyelvvel (DDL). Az olyan DML-utasítások, mint az INSERT, AZ UPDATE, a DELETE és a SELECT, lehetővé teszik a felhasználók számára az adatok beszúrását, módosítását, törlését és lekérését az adatbázisban. Az olyan DDL-utasítások, mint a CREATE, az ALTER és a DROP, lehetővé teszik az adatbázis-kezelő számára adatbázis-objektumok, például táblák, indexek és felhasználók létrehozását, módosítását és eltávolítását.
A Szkript tevékenység használatával meghívhat egy SQL-szkriptet a vállalata vagy egy Azure-beli virtuális gép (VM) alábbi adattáraiban:
- Azure SQL Database
- Azure Synapse Analytics
- SQL Server Database. Ha SQL Servert használ, telepítse a saját üzemeltetésű integrációs modult ugyanazon a gépen, amely az adatbázist üzemelteti, vagy egy külön, az adatbázishoz hozzáféréssel rendelkező gépre. A saját üzemeltetésű integrációs modul olyan összetevő, amely biztonságos és felügyelt módon csatlakoztatja a helyszíni/Azure-beli virtuális gépek adatforrásait a felhőszolgáltatásokhoz. További részletekért tekintse meg a saját üzemeltetésű integrációs modulról szóló cikket.
- Oracle
- Snowflake
A szkript egyetlen SQL-utasítást vagy több egymást követő SQL-utasítást tartalmazhat. A szkriptfeladatot a következő célokra használhatja:
- Táblázat csonkolása az adatok beszúrásának előkészítése során.
- Adatbázis-objektumok, például táblák és nézetek létrehozása, módosítása és elvetése.
- Hozzon létre újra tény- és dimenziótáblákat, mielőtt adatokat tölt be azokba.
- Tárolt eljárások futtatása. Ha az SQL-utasítás olyan tárolt eljárást hív meg, amely egy ideiglenes táblából származó eredményeket ad vissza, az EREDMÉNYKÉSZLETTEL lehetőséggel definiálhatja az eredményhalmaz metaadatait.
- Mentse a lekérdezésből visszaadott sorhalmazt tevékenységkimenetként az alsóbb rétegbeli felhasználáshoz.
Szintaxis részletei
A szkripttevékenységek definiálása jSON-formátuma a következő:
{
"name": "<activity name>",
"type": "Script",
"linkedServiceName": {
"referenceName": "<name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"scripts" : [
{
"text": "<Script Block>",
"type": "<Query> or <NonQuery>",
"parameters":[
{
"name": "<name>",
"value": "<value>",
"type": "<type>",
"direction": "<Input> or <Output> or <InputOutput>",
"size": 256
},
...
]
},
...
],
...
]
},
"scriptBlockExecutionTimeout": "<time>",
"logSettings": {
"logDestination": "<ActivityOutput> or <ExternalStore>",
"logLocationSettings":{
"linkedServiceName":{
"referenceName": "<name>",
"type": "<LinkedServiceReference>"
},
"path": "<folder path>"
}
}
}
}
Az alábbi táblázat az alábbi JSON-tulajdonságokat ismerteti:
Tulajdonság neve | Leírás | Szükséges |
---|---|---|
név | A tevékenység neve. | Igen |
típus | A tevékenység típusa , "Script" (Szkript) értékre állítva. | Igen |
typeProperties | Adja meg a szkripttevékenység konfigurálásához használt tulajdonságokat. | Igen |
linkedServiceName | A céladatbázis, amelyen a szkript fut. Hivatkozásnak kell lennie egy társított szolgáltatásra. | Igen |
szkriptek | A szkriptet jelképezendő objektumok tömbje. | Nem |
scripts.text | Egy lekérdezésblokk egyszerű szövege. | Nem |
scripts.type | A lekérdezésblokk típusa. Lehet lekérdezés vagy nem lekérdezés. Alapértelmezett: Lekérdezés. | Nem |
scripts.parameter | A szkript paramétereinek tömbje. | Nem |
scripts.parameter.name | A paraméter neve. | Nem |
scripts.parameter.value | A paraméter értéke. | Nem |
scripts.parameter.type | A paraméter adattípusa. A típus logikai típus, és az egyes összekötők típusleképezését követi. | Nem |
scripts.parameter.direction | A paraméter iránya. Ez lehet bemenet, kimenet, InputOutput. Az érték figyelmen kívül lesz hagyva, ha az irány kimenet. A ReturnValue típus nem támogatott. Állítsa be az SP visszatérési értékét egy kimeneti paraméterre a lekéréshez. | Nem |
scripts.parameter.size | A paraméter maximális mérete. Csak a karakterlánc/bájt[] típusú Output/InputOutput irányparaméterre vonatkozik. | Nem |
scriptBlockExecutionTimeout | A szkriptblokk végrehajtási műveletének várakozási ideje, mielőtt túllépi az időkorlátot. | Nem |
logSettings | A kimeneti naplók tárolásának beállításai. Ha nincs megadva, a szkriptnapló le van tiltva. | Nem |
logSettings.logDestination | A naplókimenet célja. Lehet ActivityOutput vagy ExternalStore. Alapértelmezett: ActivityOutput. | Nem |
logSettings.logLocationSettings | A célhely beállításai, ha a logDestination az ExternalStore. | Nem |
logSettings.logLocationSettings.linkedServiceName | A célhely társított szolgáltatása. Csak a blobtároló támogatott. | Nem |
logSettings.logLocationSettings.path | A naplók tárolására szolgáló mappa elérési útja. | Nem |
Tevékenység kimenete
Példa a kimenetre:
{
"resultSetCount": 2,
"resultSets": [
{
"rowCount": 10,
"rows":[
{
"<columnName1>": "<value1>",
"<columnName2>": "<value2>",
...
}
]
},
...
],
"recordsAffected": 123,
"outputParameters":{
"<parameterName1>": "<value1>",
"<parameterName2>": "<value2>"
},
"outputLogs": "<logs>",
"outputLogsLocation": "<folder path>",
"outputTruncated": true,
...
}
Tulajdonság neve | Leírás | Feltétel |
---|---|---|
resultSetCount | A szkript által visszaadott eredményhalmazok száma. | Mindig |
resultSets | Az összes eredményhalmazt tartalmazó tömb. | Mindig |
resultSets.rowCount | Az eredményhalmaz összes sora. | Mindig |
resultSets.rows | Az eredményhalmaz sorainak tömbje. | Mindig |
recordsAffected | A szkript által érintett sorok száma. | Ha a scriptType nemquery |
outputParameters | A szkript kimeneti paraméterei. | Ha a paraméter típusa Kimenet vagy InputOutput. |
outputLogs | A szkript által írt naplók, például a nyomtatási utasítás. | Ha az összekötő támogatja a naplóutasítást, és aScriptLogs engedélyezése igaz, és a logLocationSettings nincs megadva. |
outputLogsPath | A naplófájl teljes elérési útja. | Ha az enableScriptLogs értéke igaz, és a logLocationSettings meg van adva. |
outputTruncated | Annak jelzése, hogy a kimenet túllépi-e a korlátokat, és csonkolja-e. | Ha a kimenet meghaladja a korlátokat. |
Feljegyzés
- A rendszer minden alkalommal összegyűjti a kimenetet, amikor egy szkriptblokkot végrehajt. A végső kimenet az összes szkriptblokk kimenetének egyesített eredménye. A különböző szkriptblokkokban azonos nevű kimeneti paraméter felülíródik.
- Mivel a kimenet méret- és sorkorlátozásokkal rendelkezik, a kimenet csonkolt lesz a következő sorrendben: naplók -> paraméterek -> sorok. Vegye figyelembe, hogy ez egyetlen szkriptblokkra vonatkozik, ami azt jelenti, hogy a következő szkriptblokk kimeneti sorai nem zárják ki a korábbi naplókat.
- A napló által okozott hibák nem fogják meghiúsulni a tevékenységet.
- A tevékenység kimeneti eredményhalmazainak lestreamelési tevékenységben való felhasználásához tekintse meg a keresési tevékenység eredményének dokumentációját.
- Kimeneti naplókat akkor használjon, ha "PRINT" utasításokat használ naplózási célra. Ha a lekérdezés eredményhalmazokat ad vissza, az elérhető lesz a tevékenység kimenetében, és legfeljebb 5000 sor/ 4 MB méretkorlát lesz elérhető.
A szkripttevékenység konfigurálása felhasználói felületen
Beágyazott szkript
A beágyazott szkriptek jól integrálhatók a pipeline CI/CD-vel, mivel a szkript a folyamat metaadatainak részeként van tárolva.
Naplózás
Naplózási lehetőségek:
- Letiltás – Nincs végrehajtási kimenet naplózva.
- Tevékenység kimenete – A szkript végrehajtási kimenete hozzá van fűzve a tevékenység kimenetéhez. Ezt követően az alsóbb rétegbeli tevékenységek felhasználhatják azt. A kimeneti méret legfeljebb 4 MB lehet.
- Külső tároló – Megőrzi a kimenetet a tárolóban. Ezt a lehetőséget akkor használja, ha a kimeneti méret nagyobb, mint 2 MB, vagy ha kifejezetten meg szeretné őrizni a kimenetet a tárfiókban.
Feljegyzés
Számlázás – A szkripttevékenység számlázása folyamattevékenységként lesz kiszámlázva.
Kapcsolódó tartalom
Tekintse meg az alábbi cikkeket, amelyekből megtudhatja, hogyan alakíthat át adatokat más módokon: