Desenvolver U-SQL com Python, R e C# para Data Lake Analytics do Azure no Visual Studio Code
Saiba como utilizar o Visual Studio Code (VS Code) para escrever código Python, R e C# com U-SQL e submeter tarefas para o serviço Azure Data Lake. Para obter mais informações sobre as Ferramentas do Azure Data Lake para VS Code, veja Utilizar as Ferramentas do Azure Data Lake para Visual Studio Code.
Antes de escrever código por trás do código personalizado, tem de abrir uma pasta ou uma área de trabalho no VS Code.
Pré-requisitos para Python e R
Registe as assemblagens de extensões Python e R para a sua conta do ADL.
Abra a sua conta no portal.
- Selecione Descrição geral.
- Selecione Script de Exemplo.
Selecione Mais.
Selecione Instalar Extensões U-SQL.
A mensagem de confirmação é apresentada após a instalação das extensões U-SQL.
Nota
Para obter as melhores experiências no serviço de linguagem Python e R, instale a extensão VSCode Python e R.
Desenvolver ficheiro Python
Selecione o Novo Ficheiro na área de trabalho.
Escreva o código no U-SQL. Segue-se um exemplo de código.
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();
Clique com o botão direito do rato num ficheiro de script e, em seguida, selecione ADL: Gerar Código Python Por Trás do Ficheiro.
O ficheiro xxx.usql.py é gerado na sua pasta de trabalho. Escreva o seu código no ficheiro Python. Segue-se um exemplo de código.
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
Clique com o botão direito do rato no ficheiro USQL , pode selecionar Compilar Script ou Submeter Tarefa para a tarefa em execução.
Desenvolver ficheiro R
Selecione o Novo Ficheiro na área de trabalho.
Escreva o código no ficheiro U-SQL. Segue-se um exemplo de código.
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();
Clique com o botão direito do rato no ficheiro USQL e, em seguida, selecione ADL: Gerar Código R Por Trás do Ficheiro.
O ficheiro xxx.usql.r é gerado na sua pasta de trabalho. Escreva o código no ficheiro R. Segue-se um exemplo de código.
load("my_model_LM_Iris.rda") outputToUSQL=data.frame(predict(lm.fit, inputFromUSQL, interval="confidence"))
Clique com o botão direito do rato no ficheiro USQL , pode selecionar Compilar Script ou Submeter Tarefa para a tarefa em execução.
Desenvolver ficheiro C#
Um ficheiro com código atrás é um ficheiro C# associado a um único script U-SQL. Pode definir um script dedicado à UDO, UDA, UDT e UDF no ficheiro de código subjacente. O UDO, o UDA, o UDT e o UDF podem ser utilizados diretamente no script sem registar primeiro a assemblagem. O ficheiro de código atrás é colocado na mesma pasta que o respetivo ficheiro de script U-SQL de peering. Se o script tiver o nome xxx.usql, o código atrás tem o nome xxx.usql.cs. Se eliminar manualmente o ficheiro de código atrás, a funcionalidade de código subjacente será desativada para o script U-SQL associado. Para obter mais informações sobre como escrever código de cliente para script U-SQL, veja Escrita e Utilização de Código Personalizado em U-SQL: Funções User-Defined.
Selecione o Novo Ficheiro na área de trabalho.
Escreva o código no ficheiro U-SQL. Segue-se um exemplo de código.
@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();
Clique com o botão direito do rato no ficheiro USQL e, em seguida, selecione ADL: Gerar Código CS aTrás do Ficheiro.
O ficheiro xxx.usql.cs é gerado na sua pasta de trabalho. Escreva o código no ficheiro CS. Segue-se um exemplo de código.
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(); } } }
Clique com o botão direito do rato no ficheiro USQL , pode selecionar Compilar Script ou Submeter Tarefa para a tarefa em execução.
Passos seguintes
- Utilizar as Ferramentas do Azure Data Lake para o Visual Studio Code
- Execução local do U-SQL e depuração local com o Visual Studio Code
- Introdução ao Data Lake Analytics com o PowerShell
- Introdução ao Data Lake Analytics com o portal do Azure
- Utilizar o Data Lake Tools para Visual Studio para desenvolver aplicações U-SQL
- Utilizar o catálogo Data Lake Analytics(U-SQL)