Utveckla U-SQL med Python, R och C# för Azure Data Lake Analytics i Visual Studio Code
Lär dig hur du använder Visual Studio Code (VS Code) för att skriva Python-, R- och C#-kod bakom med U-SQL och skicka jobb till Azure Data Lake-tjänsten. Mer information om Azure Data Lake Tools för VS Code finns i Använda Azure Data Lake Tools för Visual Studio Code.
Innan du skriver kod bakom anpassad kod måste du öppna en mapp eller en arbetsyta i VS Code.
Förutsättningar för Python och R
Registrera Python- och R-tilläggssammansättningar för ditt ADL-konto.
Öppna ditt konto i portalen.
- Välj Översikt.
- Välj exempelskript.
Välj Mer.
Välj Installera U-SQL-tillägg.
Bekräftelsemeddelande visas när U-SQL-tilläggen har installerats.
Anmärkning
Om du vill ha bästa möjliga upplevelse av Python- och R-språktjänsten installerar du VSCode Python- och R-tillägget.
Utveckla Python-fil
Välj Ny fil i din arbetsyta.
Skriv din kod i U-SQL. Följande är ett kodexempel.
REFERENCE ASSEMBLY [ExtPython]; @t = SELECT * FROM (VALUES ("D1","T1","A1","@foo Hello World @bar"), ("D2","T2","A2","@baz Hello World @beer") ) AS D( date, time, author, tweet ); @m = REDUCE @t ON date PRODUCE date string, mentions string USING new Extension.Python.Reducer("pythonSample.usql.py", pyVersion : "3.5.1"); OUTPUT @m TO "/tweetmentions.csv" USING Outputters.Csv();
Högerklicka på en skriptfil och välj sedan ADL: Generera Python-kod bakom fil.
Filen xxx.usql.py genereras i arbetsmappen. Skriv koden i Python-filen. Följande är ett kodexempel.
def get_mentions(tweet): return ';'.join( ( w[1:] for w in tweet.split() if w[0]=='@' ) ) def usqlml_main(df): del df['time'] del df['author'] df['mentions'] = df.tweet.apply(get_mentions) del df['tweet'] return df
Högerklicka i USQL- fil kan du välja Kompilera skript eller Skicka jobb till jobbet som körs.
Utveckla R-fil
Välj Ny fil på arbetsytan.
Skriv koden i U-SQL-filen. Följande är ett kodexempel.
DEPLOY RESOURCE @"/usqlext/samples/R/my_model_LM_Iris.rda"; DECLARE @IrisData string = @"/usqlext/samples/R/iris.csv"; DECLARE @OutputFilePredictions string = @"/my/R/Output/LMPredictionsIris.txt"; DECLARE @PartitionCount int = 10; @InputData = EXTRACT SepalLength double, SepalWidth double, PetalLength double, PetalWidth double, Species string FROM @IrisData USING Extractors.Csv(); @ExtendedData = SELECT Extension.R.RandomNumberGenerator.GetRandomNumber(@PartitionCount) AS Par, SepalLength, SepalWidth, PetalLength, PetalWidth FROM @InputData; // Predict Species @RScriptOutput = REDUCE @ExtendedData ON Par PRODUCE Par, fit double, lwr double, upr double READONLY Par USING new Extension.R.Reducer(scriptFile : "RClusterRun.usql.R", rReturnType : "dataframe", stringsAsFactors : false); OUTPUT @RScriptOutput TO @OutputFilePredictions USING Outputters.Tsv();
Högerklicka i USQL- fil och välj sedan ADL: Generera R-kod bakom fil.
Filen xxx.usql.r genereras i arbetsmappen. Skriv koden i R-filen. Följande är ett kodexempel.
load("my_model_LM_Iris.rda") outputToUSQL=data.frame(predict(lm.fit, inputFromUSQL, interval="confidence"))
Högerklicka på USQL--filen, så kan du välja Kompilera skript eller Skicka jobb för att köra jobbet.
Utveckla C#-fil
En kod bakom fil är en C#-fil som är associerad med ett enda U-SQL-skript. Du kan definiera ett skript som är dedikerat till UDO, UDA, UDT och UDF i filen bakom koden. UDO, UDA, UDT och UDF kan användas direkt i skriptet utan att först registrera sammansättningen. Filen bakom koden placeras i samma mapp som dess peering U-SQL-skriptfil. Om skriptet heter xxx.usql namnges koden bakom som xxx.usql.cs. Om du manuellt tar bort kodbakomfilen inaktiveras code-behind-funktionen för dess associerade U-SQL-skript. Mer information om hur du skriver kundkod för U-SQL-skript finns i Skriva och använda anpassad kod i U-SQL: User-Defined Functions.
Välj Ny fil på arbetsytan.
Skriv koden i U-SQL-filen. Följande är ett kodexempel.
@a = EXTRACT Iid int, Starts DateTime, Region string, Query string, DwellTime int, Results string, ClickedUrls string FROM @"/Samples/Data/SearchLog.tsv" USING Extractors.Tsv(); @d = SELECT DISTINCT Region FROM @a; @d1 = PROCESS @d PRODUCE Region string, Mkt string USING new USQLApplication_codebehind.MyProcessor(); OUTPUT @d1 TO @"/output/SearchLogtest.txt" USING Outputters.Tsv();
Högerklicka i USQL- fil och välj sedan ADL: Generera CS Code Behind File.
Filen xxx.usql.cs genereras i arbetsmappen. Skriv koden i CS-filen. Följande är ett kodexempel.
namespace USQLApplication_codebehind { [SqlUserDefinedProcessor] public class MyProcessor : IProcessor { public override IRow Process(IRow input, IUpdatableRow output) { output.Set(0, input.Get<string>(0)); output.Set(1, input.Get<string>(0)); return output.AsReadOnly(); } } }
Högerklicka i USQL--fil och välj Kompilera skript eller Skicka jobb för att köra jobbet.
Nästa steg
- Använd Azure Data Lake Tools för Visual Studio Code
- lokal U-SQL-körning och lokal felsökning med Visual Studio Code
- Kom igång med Data Lake Analytics med PowerShell
- Kom igång med Data Lake Analytics med hjälp av Azure-portalen
- Använda Data Lake Tools för Visual Studio för att utveckla U-SQL-program
- Använd Data Lake Analytics-katalog (U-SQL)