Développer des opérateurs U-SQL définis par l’utilisateur
Cet article explique comment développer des opérateurs définis par l’utilisateur pour traiter les données d’un travail U-SQL.
Définir et utiliser un opérateur défini par l’utilisateur dans U-SQL
Pour créer et soumettre un travail U-SQL
Dans le menu Visual Studio, sélectionnez Fichier > Nouveau > projet > U-SQL Project.
Sélectionnez OK. Visual Studio crée une solution avec un fichier Script.usql.
À partir de l’Explorateur de solutions, développez Script.usql, puis double-cliquez sur Script.usql.cs.
Collez le code suivant dans le fichier :
using Microsoft.Analytics.Interfaces; using System.Collections.Generic; namespace USQL_UDO { public class CountryName : IProcessor { private static IDictionary<string, string> CountryTranslation = new Dictionary<string, string> { { "Deutschland", "Germany" }, { "Suisse", "Switzerland" }, { "UK", "United Kingdom" }, { "USA", "United States of America" }, { "中国", "PR China" } }; public override IRow Process(IRow input, IUpdatableRow output) { string UserID = input.Get<string>("UserID"); string Name = input.Get<string>("Name"); string Address = input.Get<string>("Address"); string City = input.Get<string>("City"); string State = input.Get<string>("State"); string PostalCode = input.Get<string>("PostalCode"); string Country = input.Get<string>("Country"); string Phone = input.Get<string>("Phone"); if (CountryTranslation.Keys.Contains(Country)) { Country = CountryTranslation[Country]; } output.Set<string>(0, UserID); output.Set<string>(1, Name); output.Set<string>(2, Address); output.Set<string>(3, City); output.Set<string>(4, State); output.Set<string>(5, PostalCode); output.Set<string>(6, Country); output.Set<string>(7, Phone); return output.AsReadOnly(); } } }
Ouvrez Script.usql et collez le script U-SQL suivant :
@drivers = EXTRACT UserID string, Name string, Address string, City string, State string, PostalCode string, Country string, Phone string FROM "/Samples/Data/AmbulanceData/Drivers.txt" USING Extractors.Tsv(Encoding.Unicode); @drivers_CountryName = PROCESS @drivers PRODUCE UserID string, Name string, Address string, City string, State string, PostalCode string, Country string, Phone string USING new USQL_UDO.CountryName(); OUTPUT @drivers_CountryName TO "/Samples/Outputs/Drivers.csv" USING Outputters.Csv(Encoding.Unicode);
Spécifiez le compte Data Lake Analytics, la base de données et le schéma.
Dans Explorateur de solutions, cliquez avec le bouton droit sur Script.usql, puis sélectionnez Générer un script.
Dans Explorateur de solutions, cliquez avec le bouton droit sur Script.usql, puis sélectionnez Envoyer un script.
Si vous ne vous êtes pas connecté à votre abonnement Azure, vous êtes invité à entrer les informations d’identification de votre compte Azure.
Sélectionnez Envoyer. Les résultats de l’envoi et le lien vers le travail sont disponibles dans la fenêtre Résultats quand l’envoi est terminé.
Sélectionnez le bouton Actualiser pour afficher la dernière status de travail et actualisez l’écran.
Pour afficher la sortie
Dans Server Explorer, développez Azure, développez Data Lake Analytics, développez votre compte Data Lake Analytics, développez Comptes de stockage, cliquez avec le bouton droit sur stockage par défaut, puis sélectionnez Explorer.
Développez des exemples, des sorties, puis double-cliquez sur Drivers.csv.