Desarrollo de trabajos U-SQL con Python, R y C# para Azure Data Lake Analytics en Visual Studio Code
Aprenda a usar Visual Studio Code (VS Code) para escribir código de Python, R y C# detrás con U-SQL y enviar trabajos al servicio Azure Data Lake. Para más información sobre Azure Data Lake Tools para VS Code, consulte Uso del código de Herramientas de Azure Data Lake para Visual Studio.
Antes de escribir código personalizado subyacente, debe abrir una carpeta o un área de trabajo en VS Code.
Requisitos previos para Python y R
Registre los ensamblados de extensiones de Python y R en la cuenta de ADL.
Abra la cuenta en el portal.
- Seleccione Información general.
- Seleccione Script de ejemplo.
Seleccione Más.
Seleccione Instalar las extensiones de U-SQL.
Aparece el mensaje de confirmación una vez instaladas las extensiones de U-SQL.
Nota
Para optimizar la experiencia con el servicio de lenguaje Python y R, instale la extensión de Python y R para VSCode.
Desarrollo de archivos de Python
Seleccione el nuevo archivo en el área de trabajo.
Escriba el código en U-SQL. A continuación, se muestra un ejemplo 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();
Haga clic con el botón derecho en un archivo de script y, luego, seleccione ADL: Generate Python Code Behind File.
Se genera el archivo xxx.usql.py en la carpeta de trabajo. Escriba el código en el archivo de Python. A continuación, se muestra un ejemplo 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
Haga clic con el botón derecho en el archivo USQL ; puede seleccionar Compilar script o Enviar trabajo a trabajo en ejecución.
Desarrollo de archivos de R
Seleccione el nuevo archivo en el área de trabajo.
Escriba el código en el archivo U-SQL. A continuación, se muestra un ejemplo 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();
Haga clic con el botón derecho en el archivo USQL y después seleccione ADL: Generate R Code Behind File.
Se genera el archivo xxx.usql.r en la carpeta de trabajo. Escriba el código en el archivo de R. A continuación, se muestra un ejemplo de código.
load("my_model_LM_Iris.rda") outputToUSQL=data.frame(predict(lm.fit, inputFromUSQL, interval="confidence"))
Haga clic con el botón derecho en el archivo USQL ; puede seleccionar Compilar script o Enviar trabajo a trabajo en ejecución.
Desarrollo de archivos de C#
Un archivo de código subyacente es un archivo C# asociado con un solo script U-SQL. Puede definir un script dedicado a UDO, UDA, UDT o UDF en el archivo de código subyacente. UDF, UDO, UDA o UDT se puede usar directamente en el script sin tener que registrar primero el ensamblado. El archivo de código subyacente se coloca en la misma carpeta que su archivo de script U-SQL de emparejamiento. Si el script se denomina xxx.usql, el código subyacente se denomina xxx.usql.cs. Si elimina manualmente el archivo de código subyacente, la característica de código subyacente se deshabilita para su script U-SQL asociado. Para más información sobre cómo escribir código de cliente para el script U-SQL, consulte Writing and Using Custom Code in U-SQL – User-Defined Functions (Escritura y uso de código personalizado en U-SQL: funciones definidas por el usuario).
Seleccione el nuevo archivo en el área de trabajo.
Escriba el código en el archivo U-SQL. A continuación, se muestra un ejemplo 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();
Haga clic con el botón derecho en el archivo USQL y después seleccione ADL: Generate CS Code Behind File.
Se genera el archivo xxx.usql.cs en la carpeta de trabajo. Escriba el código en el archivo CS. A continuación, se muestra un ejemplo 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(); } } }
Haga clic con el botón derecho en el archivo USQL ; puede seleccionar Compilar script o Enviar trabajo a trabajo en ejecución.
Pasos siguientes
- Uso de Azure Data Lake Tools para Visual Studio Code
- Ejecución y depuración locales de U-SQL con Visual Studio Code
- Introducción a Análisis de Data Lake mediante PowerShell
- Introducción a Análisis de Data Lake mediante el Portal de Azure
- Uso de Data Lake Tools for Visual Studio para desarrollar aplicaciones de U-SQL
- Uso del catálogo de Data Lake Analytics (U-SQL)