Tworzenie kodu U-SQL przy użyciu języków Python, R i C# dla usługi Azure Data Lake Analytics w usłudze Visual Studio Code
Dowiedz się, jak użyć Visual Studio Code (VS Code) do pisania kodu python, R i C# za pomocą języka U-SQL i przesyłania zadań do usługi Azure Data Lake. Aby uzyskać więcej informacji na temat narzędzi Azure Data Lake Tools for VS Code, zobacz Use the Azure Data Lake Tools for Visual Studio Code (Korzystanie z Azure Data Lake Tools for Visual Studio Code).
Przed napisaniem kodu niestandardowego należy otworzyć folder lub obszar roboczy w programie VS Code.
Wymagania wstępne dotyczące języka Python i języka R
Zarejestruj zestawy języka Python i języka R dla konta usługi ADL.
Otwórz konto w portalu.
- Wybierz pozycję Omówienie.
- Wybierz pozycję Przykładowy skrypt.
Wybierz pozycję Więcej.
Wybierz pozycję Zainstaluj rozszerzenia U-SQL.
Komunikat potwierdzający jest wyświetlany po zainstalowaniu rozszerzeń U-SQL.
Uwaga
Aby uzyskać najlepsze środowiska w usłudze językowej Python i R, zainstaluj rozszerzenie VSCode Python i R.
Opracowywanie pliku w języku Python
Wybierz nowy plik w obszarze roboczym.
Napisz kod w języku U-SQL. Poniżej przedstawiono przykładowy kod.
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();
Kliknij prawym przyciskiem myszy plik skryptu, a następnie wybierz pozycję ADL: Generuj kod języka Python Za plikiem.
Plik xxx.usql.py jest generowany w folderze roboczym. Napisz kod w pliku języka Python. Poniżej przedstawiono przykładowy kod.
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
Kliknij prawym przyciskiem myszy plik USQL , możesz wybrać polecenie Skompiluj skrypt lub Prześlij zadanie do uruchomionego zadania.
Tworzenie pliku języka R
Wybierz nowy plik w obszarze roboczym.
Napisz kod w pliku U-SQL. Poniżej przedstawiono przykładowy kod.
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();
Kliknij prawym przyciskiem myszy plik USQL , a następnie wybierz pozycję ADL: Generuj kod R Za plikiem.
Plik xxx.usql.r jest generowany w folderze roboczym. Napisz kod w pliku R. Poniżej przedstawiono przykładowy kod.
load("my_model_LM_Iris.rda") outputToUSQL=data.frame(predict(lm.fit, inputFromUSQL, interval="confidence"))
Kliknij prawym przyciskiem myszy plik USQL , możesz wybrać polecenie Skompiluj skrypt lub Prześlij zadanie do uruchomionego zadania.
Tworzenie pliku C#
Plik w tle jest plikiem języka C# skojarzonym z pojedynczym skryptem U-SQL. Skrypt przeznaczony dla UDO, UDA, UDT i UDF można zdefiniować w pliku za pomocą kodu. UDO, UDA, UDT i UDF można używać bezpośrednio w skryscie bez uprzedniego zarejestrowania zestawu. Plik w tle jest umieszczany w tym samym folderze co plik skryptu U-SQL komunikacji równorzędnej. Jeśli skrypt ma nazwę xxx.usql, kod jest nazwany jako xxx.usql.cs. Jeśli ręcznie usuniesz plik z tyłu kodu, funkcja za pomocą kodu jest wyłączona dla skojarzonego skryptu U-SQL. Aby uzyskać więcej informacji na temat pisania kodu klienta dla skryptu U-SQL, zobacz Pisanie i używanie kodu niestandardowego w języku U-SQL: User-Defined Functions.
Wybierz nowy plik w obszarze roboczym.
Napisz kod w pliku U-SQL. Poniżej przedstawiono przykładowy kod.
@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();
Kliknij prawym przyciskiem myszy plik USQL , a następnie wybierz pozycję ADL: Generuj kod CS Za plikiem.
Plik xxx.usql.cs jest generowany w folderze roboczym. Napisz kod w pliku CS. Poniżej przedstawiono przykładowy kod.
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(); } } }
Kliknij prawym przyciskiem myszy plik USQL , możesz wybrać polecenie Skompiluj skrypt lub Prześlij zadanie do uruchomionego zadania.
Następne kroki
- Korzystanie z narzędzi Azure Data Lake Tools for Visual Studio Code
- Uruchamianie lokalne u-SQL i lokalne debugowanie przy użyciu Visual Studio Code
- Wprowadzenie do Data Lake Analytics przy użyciu programu PowerShell
- Wprowadzenie do Data Lake Analytics przy użyciu Azure Portal
- Tworzenie aplikacji U-SQL przy użyciu narzędzi Data Lake Tools for Visual Studio
- Korzystanie z wykazu Data Lake Analytics(U-SQL)