Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR:
Azure Data Factory
Azure Synapse Analytics
Dricks
Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!
En pipeline i en Azure Data Factory- eller Synapse Analytics-arbetsyta bearbetar data i länkade lagringstjänster med hjälp av länkade beräkningstjänster. Den innehåller en sekvens med aktiviteter där varje aktivitet utför en specifik bearbetningsåtgärd. I den här artikeln beskrivs den U-SQL-aktivitet för Data Lake Analytics som kör ett U-SQL-skript på en länkad Azure Data Lake Analytics-beräkningstjänst .
Skapa ett Azure Data Lake Analytics-konto innan du skapar en pipeline med en U-SQL-aktivitet för Data Lake Analytics. Mer information om Azure Data Lake Analytics finns i Kom igång med Azure Data Lake Analytics.
Lägga till en U-SQL-aktivitet för Azure Data Lake Analytics i en pipeline med användargränssnitt
Utför följande steg för att använda en U-SQL-aktivitet för Azure Data Lake Analytics i en pipeline:
Sök efter Data Lake i fönstret Pipelineaktiviteter och dra en U-SQL-aktivitet till pipelinearbetsytan.
Välj den nya U-SQL-aktiviteten på arbetsytan om den inte redan är markerad.
Välj fliken ADLA-konto för att välja eller skapa en ny länkad Azure Data Lake Analytics-tjänst som ska användas för att köra U-SQL-aktiviteten.
Välj fliken Skript för att välja eller skapa en ny länkad lagringstjänst och en sökväg på lagringsplatsen som ska vara värd för skriptet.
Länkad Azure Data Lake Analytics-tjänst
Du skapar en länkad Azure Data Lake Analytics-tjänst för att länka en Azure Data Lake Analytics-beräkningstjänst till en Azure Data Factory- eller Synapse Analytics-arbetsyta. Data Lake Analytics U-SQL-aktiviteten i pipelinen refererar till den här länkade tjänsten.
Följande tabell innehåller beskrivningar för de allmänna egenskaper som används i JSON-definitionen.
| Property | Beskrivning | Obligatoriskt |
|---|---|---|
| typ | Typegenskapen ska anges till: AzureDataLakeAnalytics. | Ja |
| accountName | Azure Data Lake Analytics-kontonamn. | Ja |
| dataLakeAnalyticsUri | Azure Data Lake Analytics-URI. | Nej |
| subscriptionId | Azure-prenumerations-ID | Nej |
| resourceGroupName | Azure-resursgruppsnamn | Nej |
Tjänstens huvudautentisering
Den länkade Azure Data Lake Analytics-tjänsten kräver en autentisering med tjänstens huvudnamn för att ansluta till Azure Data Lake Analytics-tjänsten. Om du vill använda autentisering med tjänstens huvudnamn registrerar du en programentitet i Microsoft Entra-ID och ger den åtkomst till både Data Lake Analytics och Data Lake Store som används. Detaljerade steg finns i Tjänst-till-tjänst-autentisering. Anteckna följande värden som du använder för att definiera den länkade tjänsten:
- Program-ID:t
- Programnyckel
- Klientorganisations-ID
Ge tjänstens huvudnamn behörighet till Azure Data Lake Analytics med hjälp av guiden Lägg till användare.
Använd autentisering med tjänstens huvudnamn genom att ange följande egenskaper:
| Property | Beskrivning | Obligatoriskt |
|---|---|---|
| servicePrincipalId | Ange programmets klient-ID. | Ja |
| servicePrincipalKey | Ange programmets nyckel. | Ja |
| klientorganisation | Ange klientinformationen (domännamn eller klient-ID) som programmet finns under. Du kan hämta den genom att hovra musen i det övre högra hörnet av Azure Portal. | Ja |
Exempel: Autentisering med tjänstens huvudnamn
{
"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"
}
}
}
Mer information om den länkade tjänsten finns i Beräkna länkade tjänster.
Data Lake Analytics U-SQL-aktivitet
Följande JSON-kodfragment definierar en pipeline med en U-SQL-aktivitet för Data Lake Analytics. Aktivitetsdefinitionen har en referens till den länkade Azure Data Lake Analytics-tjänsten som du skapade tidigare. För att köra ett U-SQL-skript för Data Lake Analytics skickar tjänsten det skript som du angav till Data Lake Analytics, och de indata och utdata som krävs definieras i skriptet för Data Lake Analytics för att hämta och mata ut.
{
"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"
}
}
}
I följande tabell beskrivs namn och beskrivningar av egenskaper som är specifika för den här aktiviteten.
| Property | Beskrivning | Obligatoriskt |
|---|---|---|
| name | Namnet på aktiviteten i pipelinen | Ja |
| description | Text som beskriver vad aktiviteten gör. | Nej |
| type | För Data Lake Analytics U-SQL-aktivitet är aktivitetstypen DataLakeAnalyticsU-SQL. | Ja |
| linkedServiceName | Länkad tjänst till Azure Data Lake Analytics. Mer information om den här länkade tjänsten finns i artikeln Compute linked services (Beräkningslänkade tjänster ). | Ja |
| scriptPath | Sökväg till mappen som innehåller U-SQL-skriptet. Namnet på filen är skiftlägeskänsligt. | Ja |
| scriptLinkedService | Länkad tjänst som länkar Azure Data Lake Store eller Azure Storage som innehåller skriptet | Ja |
| degreeOfParallelism | Det maximala antalet noder som används samtidigt för att köra jobbet. | Nej |
| prioritet | Avgör vilka jobb av alla som är i kö ska väljas för att köras först. Desto lägre tal, desto högre prioritet. | Nej |
| parametrar | Parametrar som ska skickas till U-SQL-skriptet. | Nej |
| runtimeVersion | Körningsversion av U-SQL-motorn som ska användas. | Nej |
| compilationMode | Kompileringsläge för U-SQL. Måste vara ett av följande värden: Semantisk: Utför endast semantiska kontroller och nödvändiga sanitetskontroller, Fullständig: Utför den fullständiga kompilering, inklusive syntaxkontroll, optimering, kodgenerering osv., SingleBox: Utför den fullständiga kompilering, med TargetType-inställningen till SingleBox. Om du inte anger något värde för den här egenskapen avgör servern det optimala kompileringsläget. |
Nej |
Se SearchLogProcessing.txt för skriptdefinitionen.
Exempel på U-SQL-skript
@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);
I skriptexemplet ovan definieras indata och utdata till skriptet i parametrarna @in och @out . Värdena för parametrarna @in och @out i U-SQL-skriptet skickas dynamiskt av tjänsten med hjälp av avsnittet parametrar.
Du kan ange andra egenskaper som degreeOfParallelism och prioritet samt i pipelinedefinitionen för jobben som körs på Azure Data Lake Analytics-tjänsten.
Dynamiska parametrar
I exempelpipelinedefinitionen tilldelas in- och utparametrar med hårdkodade värden.
"parameters": {
"in": "/datalake/input/SearchLog.tsv",
"out": "/datalake/output/Result.tsv"
}
Det går att använda dynamiska parametrar i stället. Till exempel:
"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"
}
I det här fallet hämtas fortfarande indatafiler från mappen /datalake/input och utdatafiler genereras i mappen /datalake/output. Filnamnen är dynamiska baserat på starttiden för fönstret som skickas när pipelinen utlöses.
Relaterat innehåll
Se följande artiklar som förklarar hur du transformerar data på andra sätt: