Vývoj U-SQL pomocí Pythonu, R a C# pro Azure Data Lake Analytics v Visual Studio Code
Naučte se používat Visual Studio Code (VSCode) k zápisu kódu Pythonu, R a C# za použití U-SQL a odesílání úloh do služby Azure Data Lake. Další informace o Azure Data Lakech nástrojích pro VSCode najdete v tématu použití nástroje Azure Data Lake pro Visual Studio kódu.
Před psaním vlastního kódu na pozadí musíte v VSCode otevřít složku nebo pracovní prostor.
Předpoklady pro Python a R
Zaregistrujte sestavení rozšíření Python a R pro váš účet ADL.
Otevřete účet na portálu.
- Vyberte Přehled.
- Klikněte na ukázkový skript.
Klikněte na Další.
Vyberte instalovat rozšíření U-SQL.
Po instalaci rozšíření U-SQL se zobrazí potvrzovací zpráva.

Poznámka
Pro lepší zkušenosti se službou Python a jazyka R prosím nainstalujte VSCode Python a R Extension.
Vývoj souboru Pythonu
Klikněte na nový soubor v pracovním prostoru.
Napište svůj kód do U-SQL. Následuje ukázka kódu.
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();Klikněte pravým tlačítkem na soubor skriptu a pak vyberte ADL: vygenerujte soubor kódu Pythonu na pozadí.
Soubor xxx.usql.py se vygeneruje v pracovní složce. Napište svůj kód do souboru Python. Následuje ukázka kódu.
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 dfKlikněte pravým tlačítkem na soubor USQL , můžete kliknout na kompilovat skript nebo Odeslat úlohu do spuštěné úlohy.
Vývoj souboru R
Klikněte na nový soubor v pracovním prostoru.
Napište svůj kód do souboru U-SQL. Následuje ukázka kódu.
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();Klikněte pravým tlačítkem na soubor USQL a pak vyberte ADL: vygenerujte soubor kódu R na pozadí.
Soubor xxx. usql. r je vygenerován v pracovní složce. Napište svůj kód do souboru R. Následuje ukázka kódu.
load("my_model_LM_Iris.rda") outputToUSQL=data.frame(predict(lm.fit, inputFromUSQL, interval="confidence"))Klikněte pravým tlačítkem na soubor USQL , můžete kliknout na kompilovat skript nebo Odeslat úlohu do spuštěné úlohy.
Vývoj souboru C#
Soubor kódu na pozadí je soubor C# přidružený k jednomu skriptu U-SQL. V souboru kódu na pozadí můžete definovat skript vyhrazený pro UDO, UDA, UDT a UDF. UDO, UDA, UDT a UDF lze použít přímo ve skriptu bez registrace sestavení jako první. Soubor kódu na pozadí se umístí do stejné složky jako partnerský soubor skriptu U-SQL. Pokud má skript název xxx. usql, kód na pozadí se jmenuje jako xxx. usql. cs. Pokud soubor kódu na pozadí odstraníte ručně, funkce kódu na pozadí je zakázána pro svůj přidružený skript U-SQL. Další informace o psaní kódu zákazníka pro skript U-SQL najdete v tématu zápis a použití vlastního kódu v u-SQL: User-Defined Functions.
Klikněte na nový soubor v pracovním prostoru.
Napište svůj kód do souboru U-SQL. Následuje ukázka kódu.
@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();Klikněte pravým tlačítkem na soubor USQL a pak vyberte ADL: vygenerujte soubor cs za kódem.
V pracovní složce se vygeneruje soubor xxx. usql. cs . Napište svůj kód do souboru CS. Následuje ukázka kódu.
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(); } } }Klikněte pravým tlačítkem na soubor USQL , můžete kliknout na kompilovat skript nebo Odeslat úlohu do spuštěné úlohy.
Další kroky
- Použití nástrojů Azure Data Lake pro Visual Studio Code
- Místní spuštění U-SQL a místní ladění pomocí Visual Studio Code
- Začínáme s Data Lake Analytics pomocí prostředí PowerShell
- Začínáme s Data Lake Analytics pomocí Azure Portal
- Použití Data Lake nástrojů pro Visual Studio pro vývoj aplikací U-SQL
- Použití katalogu Data Lake Analytics (U-SQL)