U-SQL fejlesztése Python, R és C# használatával azure Data Lake Analytics a Visual Studio Code-ban
Megtudhatja, hogyan írhat Python-, R- és C#-kódot a Visual Studio Code (VS Code) használatával az U-SQL-hez, és hogyan küldhet feladatokat az Azure Data Lake szolgáltatásba. További információ az Azure Data Lake Tools for VS Code-ról: Az Azure Data Lake Tools for Visual Studio Code használata.
Az egyéni kód mögötti kód írása előtt meg kell nyitnia egy mappát vagy egy munkaterületet a VS Code-ban.
A Python és az R előfeltételei
Python- és R-bővítményszerelvények regisztrálása az ADL-fiókhoz.
Nyissa meg a fiókját a portálon.
- Válassza az Áttekintés lehetőséget.
- Válassza a Mintaszkript lehetőséget.
Válassza az Egyebek lehetőséget.
Válassza az U-SQL-bővítmények telepítése lehetőséget.
A megerősítő üzenet az U-SQL-bővítmények telepítése után jelenik meg.
Megjegyzés
A Python és az R nyelvi szolgáltatással kapcsolatos legjobb élmény érdekében telepítse a VSCode Python és az R bővítményt.
Python-fájl fejlesztése
Válassza ki az Új fájlt a munkaterületen.
Írja be a kódot az U-SQL-be. Az alábbiakban egy kódmintát követünk.
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();
Kattintson a jobb gombbal egy szkriptfájlra, majd válassza az ADL: Python-kód létrehozása fájl mögött lehetőséget.
A xxx.usql.py fájl a munkamappában jön létre. Írja be a kódot Python-fájlba. Az alábbiakban egy kódmintát követünk.
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
Kattintson a jobb gombbal az USQL-fájlban , válassza a Szkript fordítása vagy a Feladat elküldése a feladat futtatásához lehetőséget.
R-fájl fejlesztése
Válassza ki az Új fájlt a munkaterületen.
Írja be a kódot az U-SQL-fájlba. Az alábbiakban egy kódmintát követünk.
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();
Kattintson a jobb gombbal az USQL-fájlban , majd válassza az ADL: R-kód létrehozása fájl mögött lehetőséget.
Az xxx.usql.r fájl a munkamappában jön létre. Írja be a kódot R-fájlba. Az alábbiakban egy kódmintát követünk.
load("my_model_LM_Iris.rda") outputToUSQL=data.frame(predict(lm.fit, inputFromUSQL, interval="confidence"))
Kattintson a jobb gombbal az USQL-fájlban , válassza a Szkript fordítása vagy a Feladat elküldése a feladat futtatásához lehetőséget.
C#-fájl fejlesztése
A kód mögötti fájl egy egyetlen U-SQL-szkripthez társított C#-fájl. A mögöttes kódfájlban definiálhat egy UDO, UDA, UDT és UDF számára dedikált szkriptet. Az UDO, az UDA, az UDT és az UDF közvetlenül használható a szkriptben anélkül, hogy először regisztrálja a szerelvényt. A mögöttes kódfájl ugyanabba a mappába kerül, mint a társviszony-létesítési U-SQL-szkriptfájl. Ha a szkript neve xxx.usql, a mögöttes kód neve xxx.usql.cs. Ha manuálisan törli a kód mögötti fájlt, a kód mögötti funkció le van tiltva a társított U-SQL-szkripthez. Az U-SQL-szkript ügyfélkódjának írásával kapcsolatos további információkért lásd: Egyéni kód írása és használata az U-SQL-ben: User-Defined Functions.
Válassza ki az Új fájlt a munkaterületen.
Írja be a kódot az U-SQL-fájlba. Az alábbiakban egy kódmintát követünk.
@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();
Kattintson a jobb gombbal az USQL-fájlban , majd válassza az ADL: CS-kód létrehozása fájl mögött lehetőséget.
A xxx.usql.cs fájl a munkamappában jön létre. Írja be a kódot CS-fájlba. Az alábbiakban egy kódmintát követünk.
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(); } } }
Kattintson a jobb gombbal az USQL-fájlban , válassza a Szkript fordítása vagy a Feladat elküldése a feladat futtatásához lehetőséget.
Következő lépések
- Az Azure Data Lake Tools for Visual Studio kód használata
- Helyi U-SQL-futtatás és helyi hibakeresés a Visual Studio Code-tal
- Első lépések Data Lake Analytics a PowerShell használatával
- Ismerkedés a Data Lake Analytics a Azure Portal használatával
- A Data Lake Tools for Visual Studio használata U-SQL-alkalmazások fejlesztéséhez
- Data Lake Analytics(U-SQL) katalógus használata