Adatok feldolgozása U-SQL-szkriptek futtatásával az Azure Data Lake Analyticsben az Azure Data Factory és a Synapse Analytics használatával
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!
Az Azure Data Factoryben vagy a Synapse Analytics-munkaterületen lévő folyamatok csatolt számítási szolgáltatások használatával dolgoznak fel adatokat a társított tárolási szolgáltatásokban. Olyan tevékenységek sorozatát tartalmazza, amelyekben minden tevékenység egy adott feldolgozási műveletet hajt végre. Ez a cikk azt a Data Lake Analytics U-SQL-tevékenységet ismerteti, amely U-SQL-szkriptet futtat egy Azure Data Lake Analytics számítási társított szolgáltatáson.
Hozzon létre egy Azure Data Lake Analytics-fiókot, mielőtt egy Data Lake Analytics U-SQL-tevékenységgel rendelkező folyamatot hoz létre. Az Azure Data Lake Analytics megismeréséhez tekintse meg az Azure Data Lake Analytics használatának első lépéseit.
U-SQL-tevékenység hozzáadása az Azure Data Lake Analyticshez felhasználói felülettel rendelkező folyamathoz
Ha U-SQL-tevékenységet szeretne használni az Azure Data Lake Analyticshez egy folyamatban, hajtsa végre a következő lépéseket:
Keresse meg a Data Lake-t a folyamattevékenységek panelen, és húzzon egy U-SQL-tevékenységet a folyamatvászonra.
Jelölje ki az új U-SQL-tevékenységet a vásznon, ha még nincs kijelölve.
Az ADLA-fiók lapon válasszon ki vagy hozzon létre egy új Azure Data Lake Analytics-társított szolgáltatást, amely a U-SQL-tevékenység végrehajtásához lesz használva.
A Szkript fülre kattintva válasszon ki vagy hozzon létre egy új társított társzolgáltatást, valamint egy elérési utat a tárolóhelyen belül, amely a szkriptet fogja üzemeltetni.
Azure Data Lake Analytics társított szolgáltatás
Azure Data Lake Analytics-társított szolgáltatást hoz létre, amely összekapcsol egy Azure Data Lake Analytics számítási szolgáltatást egy Azure Data Factory vagy Synapse Analytics-munkaterülethez. A folyamat Data Lake Analytics U-SQL-tevékenysége erre a társított szolgáltatásra hivatkozik.
Az alábbi táblázat a JSON-definícióban használt általános tulajdonságok leírását tartalmazza.
Property | Leírás | Required |
---|---|---|
type | A típustulajdonságnak a következőnek kell lennie: AzureDataLakeAnalytics. | Igen |
Accountname | Azure Data Lake Analytics-fiók neve. | Igen |
dataLakeAnalyticsUri | Azure Data Lake Analytics URI. | Nem |
subscriptionId | Azure-előfizetés azonosítója | Nem |
resourceGroupName | Azure-erőforráscsoport neve | Nem |
Egyszerű szolgáltatás hitelesítése
Az Azure Data Lake Analytics társított szolgáltatáshoz szolgáltatásnév-hitelesítés szükséges az Azure Data Lake Analytics szolgáltatáshoz való csatlakozáshoz. A szolgáltatásnév-hitelesítés használatához regisztráljon egy alkalmazásentitást a Microsoft Entra-azonosítóban, és adjon hozzáférést mind a Data Lake Analyticshez, mind az általa használt Data Lake Store-hoz. A részletes lépésekért tekintse meg a szolgáltatásközi hitelesítést. Jegyezze fel az alábbi értékeket, amelyeket a társított szolgáltatás definiálásához használ:
- Pályázat azonosítója
- Alkalmazáskulcs
- Tenant ID
Adjon egyszerű szolgáltatásengedélyt az Azure Data Lake Analyticsnek a Felhasználó hozzáadása varázslóval.
Szolgáltatásnév-hitelesítés használata a következő tulajdonságok megadásával:
Property | Leírás | Required |
---|---|---|
servicePrincipalId | Adja meg az alkalmazás ügyfél-azonosítóját. | Igen |
servicePrincipalKey | Adja meg az alkalmazás kulcsát. | Igen |
Bérlő | Adja meg azt a bérlői információt (tartománynevet vagy bérlőazonosítót), amely alatt az alkalmazás található. A lekéréshez vigye az egérmutatót az Azure Portal jobb felső sarkában. | Igen |
Példa: Egyszerű szolgáltatáshitelesítés
{
"name": "AzureDataLakeAnalyticsLinkedService",
"properties": {
"type": "AzureDataLakeAnalytics",
"typeProperties": {
"accountName": "<account name>",
"dataLakeAnalyticsUri": "<azure data lake analytics URI>",
"servicePrincipalId": "<service principal id>",
"servicePrincipalKey": {
"value": "<service principal key>",
"type": "SecureString"
},
"tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
"subscriptionId": "<optional, subscription id of ADLA>",
"resourceGroupName": "<optional, resource group name of ADLA>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
A társított szolgáltatással kapcsolatos további információkért lásd a társított számítási szolgáltatásokat.
Data Lake Analytics U-SQL-tevékenység
Az alábbi JSON-kódrészlet egy Data Lake Analytics U-SQL-tevékenységgel rendelkező folyamatot határoz meg. A tevékenységdefiníció hivatkozik a korábban létrehozott Azure Data Lake Analytics társított szolgáltatásra. Egy Data Lake Analytics U-SQL-szkript végrehajtásához a szolgáltatás elküldi a megadott szkriptet a Data Lake Analyticsnek, és a szükséges bemenetek és kimenetek a Data Lake Analytics beolvasásához és kimenetéhez használt szkriptben vannak meghatározva.
{
"name": "ADLA U-SQL Activity",
"description": "description",
"type": "DataLakeAnalyticsU-SQL",
"linkedServiceName": {
"referenceName": "<linked service name of Azure Data Lake Analytics>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"scriptLinkedService": {
"referenceName": "<linked service name of Azure Data Lake Store or Azure Storage which contains the U-SQL script>",
"type": "LinkedServiceReference"
},
"scriptPath": "scripts\\kona\\SearchLogProcessing.txt",
"degreeOfParallelism": 3,
"priority": 100,
"parameters": {
"in": "/datalake/input/SearchLog.tsv",
"out": "/datalake/output/Result.tsv"
}
}
}
Az alábbi táblázat a tevékenységre jellemző tulajdonságok nevét és leírását ismerteti.
Property | Leírás | Required |
---|---|---|
név | A folyamat tevékenységének neve | Igen |
leírás | A tevékenység tevékenységeit leíró szöveg. | Nem |
típus | A Data Lake Analytics U-SQL-tevékenység esetében a tevékenység típusa DataLakeAnalyticsU-SQL. | Igen |
linkedServiceName | Társított szolgáltatás az Azure Data Lake Analyticshez. A társított szolgáltatással kapcsolatos további információkért tekintse meg a társított számítási szolgáltatásokról szóló cikket. | Igen |
scriptPath | Az U-SQL-szkriptet tartalmazó mappa elérési útja. A fájl neve megkülönbözteti a kis- és nagybetűk nevét. | Igen |
scriptLinkedService | Társított szolgáltatás, amely összekapcsolja a szkriptet tartalmazó Azure Data Lake Store-t vagy Azure Storage-t | Igen |
degreeOfParallelism | A feladat futtatásához egyidejűleg használt csomópontok maximális száma. | Nem |
Prioritás | Meghatározza, hogy az összes várólistán lévő feladat közül melyik legyen kiválasztva az első futtatáshoz. Minél alacsonyabb a szám, annál magasabb a prioritás. | Nem |
parameters | Az U-SQL-szkriptbe továbbítandó paraméterek. | Nem |
runtimeVersion | A használni kívánt U-SQL-motor futtatókörnyezeti verziója. | Nem |
compilationMode | Az U-SQL fordítási módja. A következő értékek egyikének kell lennie: Szemantikai: Csak szemantikai ellenőrzéseket és szükséges józansági ellenőrzéseket hajthat végre, Teljes: A teljes fordítás végrehajtása, beleértve a szintaxisellenőrzést, az optimalizálást, a kódgenerálást stb., a SingleBoxot: A teljes fordítás végrehajtása a TargetType beállítással a SingleBox értékre. Ha nem ad meg értéket ehhez a tulajdonsághoz, a kiszolgáló határozza meg az optimális fordítási módot. |
Nem |
A szkriptdefiníciót lásd a SearchLogProcessing.txt fájlban.
U-SQL-példaszkript
@searchlog =
EXTRACT UserId int,
Start DateTime,
Region string,
Query string,
Duration int,
Urls string,
ClickedUrls string
FROM @in
USING Extractors.Tsv(nullEscape:"#NULL#");
@rs1 =
SELECT Start, Region, Duration
FROM @searchlog
WHERE Region == "en-gb";
@rs1 =
SELECT Start, Region, Duration
FROM @rs1
WHERE Start <= DateTime.Parse("2012/02/19");
OUTPUT @rs1
TO @out
USING Outputters.Tsv(quoting:false, dateTimeFormat:null);
A fenti példaszkriptben a szkript bemenete és kimenete @in és @out paraméterekben van definiálva. Az U-SQL-szkriptben található @in és @out paraméterek értékeit a szolgáltatás dinamikusan adja át a "paraméterek" szakasz használatával.
Az Azure Data Lake Analytics szolgáltatásban futtatott feladatokhoz megadhat más tulajdonságokat, például a degreeOfParallelism és a prioritást, valamint a folyamatdefinícióban is.
Dinamikus paraméterek
A mintafolyamat-definícióban a be- és kimenő paramétereket a rendszer kemény kóddal ellátott értékekkel rendeli hozzá.
"parameters": {
"in": "/datalake/input/SearchLog.tsv",
"out": "/datalake/output/Result.tsv"
}
Ehelyett dinamikus paramétereket is használhat. Például:
"parameters": {
"in": "/datalake/input/@{formatDateTime(pipeline().parameters.WindowStart,'yyyy/MM/dd')}/data.tsv",
"out": "/datalake/output/@{formatDateTime(pipeline().parameters.WindowStart,'yyyy/MM/dd')}/result.tsv"
}
Ebben az esetben a bemeneti fájlok továbbra is a /datalake/input mappából lesznek felvéve, a kimeneti fájlok pedig a /datalake/output mappában jönnek létre. A fájlnevek dinamikusak attól függően, hogy a folyamat aktiválásakor milyen időtartományban van átadva az ablak kezdőideje.
Kapcsolódó tartalom
Tekintse meg az alábbi cikkeket, amelyekből megtudhatja, hogyan alakíthat át adatokat más módokon: