Entwickeln von U-SQL mit Python, R und C# für Azure Data Lake Analytics in Visual Studio Code
Erfahren Sie, wie Sie Visual Studio Code (VS Code) verwenden, um Python-, R- und C#-Codebehind mit U-SQL zu schreiben und Aufträge an den Azure Data Lake-Dienst zu übermitteln. Weitere Informationen zu Azure Data Lake Tools für VS Code finden Sie unter Verwenden des Azure Data Lake Tools für Visual Studio Code.
Bevor Sie codebenutzerdefinierten Code schreiben, müssen Sie einen Ordner oder Arbeitsbereich in VS Code öffnen.
Voraussetzungen für Python und R
Registrieren Sie Assemblys für Python- und R-Erweiterungen für Ihr ADL-Konto.
Öffnen Sie Ihr Konto im Portal.
- Wählen Sie Übersicht.
- Wählen Sie Beispielskript aus.
Wählen Sie Mehr aus.
Wählen Sie U-SQL-Erweiterungen installieren.
Nachdem die U-SQL-Erweiterungen installiert wurden, wird eine Bestätigungsmeldung angezeigt.
Hinweis
Installieren Sie zur optimalen Nutzung des Sprachdiensts für Python und R die Python- und R-Erweiterungen für VSCode.
Entwickeln einer Python-Datei
Wählen Sie in Ihrem Arbeitsbereich die Option Neue Datei aus.
Schreiben Sie Ihren Code in U-SQL. Im Anschluss sehen Sie ein Codebeispiel.
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();
Klicken Sie mit der rechten Maustaste auf eine Skriptdatei, und klicken Sie dann auf ADL: Generate Python Code Behind File (ADL: Python-CodeBehind-Datei generieren).
Die Datei xxx.usql.py wird in Ihrem Arbeitsordner erstellt. Schreiben Sie Ihren Code in die Python-Datei. Im Anschluss sehen Sie ein Codebeispiel.
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
Klicken Sie mit der rechten Maustaste in die USQL-Datei , und wählen Sie Skript kompilieren oder Auftrag an ausgeführten Auftrag übermitteln aus.
Entwickeln einer R-Datei
Wählen Sie in Ihrem Arbeitsbereich die Option Neue Datei aus.
Schreiben Sie Ihren Code in die U-SQL-Datei. Im Anschluss sehen Sie ein Codebeispiel.
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();
Klicken Sie mit der rechten Maustaste in die USQL-Datei, und klicken Sie dann auf ADL: Generate R Code Behind File (ADL: R-CodeBehind-Datei generieren).
Die Datei xxx.usql.r wird in Ihrem Arbeitsordner erstellt. Schreiben Sie Ihren Code in die R-Datei. Im Anschluss sehen Sie ein Codebeispiel.
load("my_model_LM_Iris.rda") outputToUSQL=data.frame(predict(lm.fit, inputFromUSQL, interval="confidence"))
Klicken Sie mit der rechten Maustaste in die USQL-Datei , und wählen Sie Skript kompilieren oder Auftrag an ausgeführten Auftrag übermitteln aus.
Entwickeln einer C#-Datei
Eine CodeBehind-Datei ist eine C#-Datei, die einem U-SQL-Skript zugeordnet ist. Sie können ein Skript speziell für UDO, UDA, UDT und UDF in der CodeBehind-Datei definieren. UDO, UDA, UDT und UDF können direkt im Skript verwendet werden, ohne die Assembly zuvor zu registrieren. Die CodeBehind-Datei wird im gleichen Ordner wie die U-SQL-Skriptdatei für das Peering gespeichert. Wenn das Skript den Namen „xxx.usql“ erhält, heißt die CodeBehind-Datei „xxx.usql.cs“. Durch manuelles Löschen der CodeBehind-Datei wird das CodeBehind-Feature für das zugehörige U-SQL-Skript deaktiviert. Weitere Informationen zum Schreiben von Kundencode für ein U-SQL-Skript finden Sie unter Writing and Using Custom Code in U-SQL: User-Defined Functions (Schreiben und Verwenden von benutzerdefiniertem Code in U-SQL: benutzerdefinierte Funktionen).
Wählen Sie in Ihrem Arbeitsbereich die Option Neue Datei aus.
Schreiben Sie Ihren Code in die U-SQL-Datei. Im Anschluss sehen Sie ein Codebeispiel.
@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();
Klicken Sie mit der rechten Maustaste in die USQL-Datei, und klicken Sie dann auf ADL: Generate CS Code Behind File (ADL: CS-CodeBehind-Datei generieren).
Die Datei xxx.usql.cs wird in Ihrem Arbeitsordner erstellt. Schreiben Sie Ihren Code in die CS-Datei. Im Anschluss sehen Sie ein Codebeispiel.
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(); } } }
Klicken Sie mit der rechten Maustaste in die USQL-Datei , und wählen Sie Skript kompilieren oder Auftrag an ausgeführten Auftrag übermitteln aus.
Nächste Schritte
- Verwenden der Azure Data Lake-Tools für Visual Studio Code
- Lokales Ausführen und lokales Debuggen von U-SQL mit Visual Studio Code
- Erste Schritte mit Data Lake Analytics mithilfe von PowerShell
- Erste Schritte mit Data Lake Analytics mithilfe des Azure-Portals
- Verwenden von Data Lake-Tools für Visual Studio zum Entwickeln von U-SQL-Anwendungen
- Verwenden des Azure Data Lake Analytics-Katalogs (U-SQL)