U-SQL ontwikkelen met Python, R en C# voor Azure Data Lake Analytics in Visual Studio Code
Meer informatie over het gebruik van Visual Studio Code (VS Code) om Python-, R- en C#-code achter te schrijven met U-SQL en taken te verzenden naar de Azure Data Lake-service. Zie De Azure Data Lake Tools voor Visual Studio Code gebruiken voor meer informatie over Azure Data Lake Tools voor VS Code.
Voordat u code achter aangepaste code schrijft, moet u een map of werkruimte openen in VS Code.
Vereisten voor Python en R
Registreer python- en R-extensiesassembly's voor uw ADL-account.
Open uw account in de portal.
- Selecteer Overzicht.
- Selecteer Voorbeeldscript.
Selecteer Meer.
Selecteer U-SQL-extensies installeren.
Bevestigingsbericht wordt weergegeven nadat de U-SQL-extensies zijn geïnstalleerd.
Notitie
Installeer VSCode Python en R-extensie voor de beste ervaringen met python en R-taalservice.
Python-bestand ontwikkelen
Selecteer het nieuwe bestand in uw werkruimte.
Schrijf uw code in U-SQL. Hier volgt een codevoorbeeld.
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();
Klik met de rechtermuisknop op een scriptbestand en selecteer vervolgens ADL: Python-code genereren achter bestand.
Het xxx.usql.py-bestand wordt gegenereerd in uw werkmap. Schrijf uw code in het Python-bestand. Hier volgt een codevoorbeeld.
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
Klik met de rechtermuisknop in het USQL-bestand en selecteer Script compileren of Taak verzenden naar actieve taak.
R-bestand ontwikkelen
Selecteer het nieuwe bestand in uw werkruimte.
Schrijf uw code in het U-SQL-bestand. Hier volgt een codevoorbeeld.
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();
Klik met de rechtermuisknop in het USQL-bestand en selecteer vervolgens ADL: R Code genereren achter bestand.
Het bestand xxx.usql.r wordt gegenereerd in uw werkmap. Schrijf de code in het R-bestand. Hier volgt een codevoorbeeld.
load("my_model_LM_Iris.rda") outputToUSQL=data.frame(predict(lm.fit, inputFromUSQL, interval="confidence"))
Klik met de rechtermuisknop in het USQL-bestand en selecteer Script compileren of Taak verzenden naar actieve taak.
C#-bestand ontwikkelen
Een code-behind-bestand is een C#-bestand dat is gekoppeld aan één U-SQL-script. U kunt een script definiëren dat is toegewezen aan UDO, UDA, UDT en UDF in het code-behind-bestand. UDO, UDA, UDT en UDF kunnen rechtstreeks in het script worden gebruikt zonder de assembly eerst te registreren. Het code-behind-bestand wordt in dezelfde map geplaatst als het U-SQL-scriptbestand voor peering. Als het script xxx.usql heet, krijgt de code-behind de naam xxx.usql.cs. Als u het code-behind-bestand handmatig verwijdert, wordt de code-behind-functie uitgeschakeld voor het bijbehorende U-SQL-script. Zie Aangepaste code schrijven en gebruiken in U-SQL: User-Defined Functions voor meer informatie over het schrijven van klantcode voor U-SQL-script.
Selecteer het nieuwe bestand in uw werkruimte.
Schrijf uw code in het U-SQL-bestand. Hier volgt een codevoorbeeld.
@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();
Klik met de rechtermuisknop in het USQL-bestand en selecteer vervolgens ADL: CS-code genereren achter bestand.
Het xxx.usql.cs-bestand wordt gegenereerd in uw werkmap. Schrijf uw code in het CS-bestand. Hier volgt een codevoorbeeld.
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(); } } }
Klik met de rechtermuisknop in het USQL-bestand en selecteer Script compileren of Taak verzenden naar actieve taak.
Volgende stappen
- De Azure Data Lake-tools gebruiken voor Visual Studio-code
- Lokale uitvoering en lokale foutopsporing in U-SQL met Visual Studio Code
- Aan de slag met Data Lake Analytics met Behulp van PowerShell
- Aan de slag met Data Lake Analytics met behulp van de Azure Portal
- Data Lake Tools voor Visual Studio gebruiken voor het ontwikkelen van U-SQL-toepassingen
- Data Lake Analytics-catalogus (U-SQL) gebruiken