Vývoj U-SQL s využitím Pythonu, R a C# pro Azure Data Lake Analytics v editoru Visual Studio Code
Zjistěte, jak pomocí editoru Visual Studio Code (VS Code) psát kód Pythonu, R a C# pomocí U-SQL a odesílat úlohy do služby Azure Data Lake. Další informace o nástrojích Azure Data Lake pro VS Code najdete v tématu Použití Nástroje Azure Data Lake pro Visual Studio Code.
Před psaním vlastního kódu na pozadí musíte v nástroji VS Code otevřít složku nebo pracovní prostor.
Předpoklady pro Python a R
Zaregistrujte sestavení rozšíření Pythonu a R pro svůj účet ADL.
Otevřete svůj účet na portálu.
- Vyberte Přehled.
- Vyberte Ukázkový skript.
Vyberte Další.
Vyberte Nainstalovat rozšíření U-SQL.
Po instalaci rozšíření U-SQL se zobrazí potvrzovací zpráva.
Poznámka
Pokud chcete mít co nejlepší možnosti pro Python a službu jazyka R, nainstalujte si prosím VSCode Python a rozšíření jazyka R.
Vývoj souboru Pythonu
V pracovním prostoru vyberte Nový soubor .
Napište kód v 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: Generate Python Code Behind File (ADL: Generate Python Code Behind File).
Soubor xxx.usql.py se vygeneruje v pracovní složce. Napište kód v souboru Pythonu. 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 df
Klikněte pravým tlačítkem na soubor USQL a můžete vybrat Zkompilovat skript nebo Odeslat úlohu do spuštěné úlohy.
Vývoj souboru R
V pracovním prostoru vyberte Nový soubor .
Napište kód v 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: Generate R Code Behind File(Generovat kód R).
Soubor xxx.usql.r se vygeneruje ve vaší pracovní složce. Napište kód v 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 a můžete vybrat Zkompilovat skript nebo Odeslat úlohu do spuštěné úlohy.
Vývoj souboru jazyka C#
Soubor kódu na pozadí je soubor jazyka C# přidružený k jednomu skriptu U-SQL. V souboru s kódem 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í. Soubor kódu na pozadí je umístěn ve stejné složce jako soubor partnerského skriptu U-SQL. Pokud má skript název xxx.usql, má kód na pozadí název xxx.usql.cs. Pokud soubor kódu na pozadí odstraníte ručně, funkce kódu na pozadí bude pro přidružený skript U-SQL zakázaná. Další informace o psaní kódu zákazníka pro skriptY U-SQL najdete v tématu Psaní a používání vlastního kódu v U-SQL: User-Defined Functions.
V pracovním prostoru vyberte Nový soubor .
Napište kód v 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: Generate CS Code Behind File(Generovat soubor kódu CS).
Soubor xxx.usql.cs se vygeneruje v pracovní složce. Napište 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 a můžete vybrat Zkompilovat 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í editoru Visual Studio Code
- Začínáme s Data Lake Analytics pomocí PowerShellu
- Začínáme s Data Lake Analytics používáním Azure Portal
- Použití nástrojů Data Lake pro Visual Studio k vývoji aplikací U-SQL
- Použití katalogu Data Lake Analytics(U-SQL)