Développer U-SQL avec Python, R et C# pour Azure Data Lake Analytics dans Visual Studio Code
Découvrez comment utiliser Visual Studio Code (VS Code) pour écrire du code Python, R et C# avec U-SQL et envoyer des travaux au service Azure Data Lake. Pour plus d’informations sur Azure Data Lake Tools pour VS Code, consultez Utiliser le code Azure Data Lake Tools pour Visual Studio.
Avant d’écrire du code personnalisé code-behind, vous devez ouvrir un dossier ou un espace de travail dans VS Code.
Prérequis pour Python et R
Inscrivez les assemblys d’extensions R et Python pour votre compte ADL.
Ouvrez votre compte sur le portail.
- Sélectionnez Vue d’ensemble.
- Sélectionnez Exemple de script.
Sélectionnez Plus.
Sélectionnez Installer des extensions U-SQL.
Un message de confirmation s’affiche une fois que les extensions U-SQL sont installées.
Notes
Pour optimiser les expériences sur le service de langage R et Python, veuillez installer l’extension VSCode Python et R.
Développer un fichier Python
Sélectionnez le nouveau fichier dans votre espace de travail.
Écrivez votre code en U-SQL. Voici un exemple de code.
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();
Cliquez avec le bouton droit sur un fichier de script, puis sélectionner ADL: Generate Python Code Behind File (ADL : Générer un fichier code-behind Python).
Le fichier xxx.usql.py est généré dans votre dossier de travail. Écrivez votre code dans un fichier Python. Voici un exemple de code.
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
Cliquez avec le bouton droit dans le fichier USQL . Vous pouvez sélectionner Compiler le script ou Envoyer le travail au travail en cours d’exécution.
Développer un fichier R
Sélectionnez le nouveau fichier dans votre espace de travail.
Écrivez votre code dans le fichier U-SQL. Voici un exemple de code.
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();
Cliquez avec le bouton droit sur le fichier USQL, puis sélectionnez ADL: Generate R Code Behind File (ADL : Générer un fichier code-behind R).
Le fichier xxx.usql.r est généré dans votre dossier de travail. Écrivez votre code dans le fichier R. Voici un exemple de code.
load("my_model_LM_Iris.rda") outputToUSQL=data.frame(predict(lm.fit, inputFromUSQL, interval="confidence"))
Cliquez avec le bouton droit dans le fichier USQL . Vous pouvez sélectionner Compiler le script ou Envoyer le travail au travail en cours d’exécution.
Développer un fichier C#
Un fichier code-behind est un fichier C# associé à un script U-SQL. Vous pouvez définir un script dédié à UDO, UDA, UDT et UDF dans le fichier code-behind. UDO, UDA, UDT et UDF peuvent être utilisés directement dans le script sans inscription préalable de l’assembly. Le fichier code-behind est placé dans le même dossier que le fichier de script U-SQL correspondant. Si le script est nommé xxx.usql, le fichier code-behind est nommé xxx.usql.cs. Si vous supprimez manuellement le fichier code-behind, la fonctionnalité code-behind est désactivée pour le script U-SQL associé. Pour plus d’informations sur l’écriture de code client pour le script U-SQL, consultez Écriture et utilisation de code personnalisé dans U-SQL - Fonctions définies par l’utilisateur.
Sélectionnez le nouveau fichier dans votre espace de travail.
Écrivez votre code dans le fichier U-SQL. Voici un exemple de code.
@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();
Cliquez avec le bouton droit sur le fichier USQL, puis sélectionner ADL: Generate CS Code Behind File (ADL : Générer un fichier code-behind CS).
Le fichier xxx.usql.cs est généré dans votre dossier de travail. Écrivez votre code dans le fichier CS. Voici un exemple de code.
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(); } } }
Cliquez avec le bouton droit dans le fichier USQL . Vous pouvez sélectionner Compiler le script ou Envoyer le travail au travail en cours d’exécution.
Étapes suivantes
- Utilisation d’Azure Data Lake Tools pour Visual Studio Code
- Exécution locale et débogage local U-SQL avec Visual Studio Code
- Prise en main de Data Lake Analytics à l’aide de PowerShell
- Prise en main de Data Lake Analytics à l’aide du portail Azure
- Utiliser les outils Data Lake pour Visual Studio pour le développement d’applications U-SQL
- Utilisation du catalogue Data Lake Analytics (U-SQL)