Fiche technique | |
---|---|
Type de produit : | Langage de programmation |
Auteur : | Microsoft |
Date de publication : | 2015 |
Introduction
Le U-SQL est un langage de base de données de requête Microsoft combinant une syntaxe déclarative de type SQL avec la programmation C#, ce qui lui permet d'être utilisé pour traiter à la fois des données structurées et non structurées dans des environnements de mégadonnées (Big Data). Introduit en 2015, U-SQL fait partie du service infonuagique Azure Data Lake Analytics de Microsoft, mais il permet aux utilisateurs d'exécuter des requêtes sur plusieurs magasins de données dans l'infonuagique Azure.
Le SQL est le langage standard pour interroger les bases de données relationnelles, tandis que C# (prononcé "C-sharp") est un langage de programmation développé par Microsoft. L'entreprise les a intégrés pour créer U-SQL en réponse à l'émergence des systèmes de mégadonnées, entreposant souvent des données non structurées pouvant poser des défis différents pour les langages de programmation SQL et procéduraux. Le U-SQL a été conçu pour unifier les deux approches en créant une extensibilité native pour le code C# écrit par l'utilisateur dans une implémentation SQL.
Capacités U-SQL
Le U-SQL a ses racines dans un langage de script déclaratif et extensible appelé SCOPE que Microsoft utilise en interne. Dans un document de recherche de 2008, la société a déclaré avoir développé SCOPE (abréviation de Structured Computations Optimized for Parallel Execution) pour permettre aux analystes de données familiarisés avec SQL d'interroger les journaux de recherche, les flux de clics Internet et d'autres ensembles de données massifs étant de plus en plus entreposés dans des environnements distribués.
L'intégration entre SQL et C# dans U-SQL est basée sur SCOPE, tout comme l'infrastructure d'exécution et d'optimisation des requêtes U-SQL. Le système de métadonnées U-SQL, la syntaxe SQL et la sémantique du langage sont calqués sur la norme ANSI SQL et Transact-SQL (T-SQL), l'implémentation par Microsoft du langage de requête pour sa base de données SQL Server. Cependant, U-SQL n'adhère pas entièrement à ANSI SQL ; par exemple, les commandes telles que SELECT doivent être écrites en majuscules et la syntaxe C# est utilisée pour les expressions à l'intérieur des commandes.
Selon Microsoft, U-SQL permet aux utilisateurs de traiter n'importe quel type de données et à n'importe quelle échelle. Le langage adapte automatiquement les requêtes pour utiliser les ressources système disponibles, permettant aux utilisateurs de se concentrer sur l'interrogation des données au lieu de s'occuper des besoins d'infrastructure ou d'écrire ce que Microsoft appelle le "code de plomberie".
En tant que composante de la plate-forme Azure Data Lake de Microsoft, U-SQL est le langage intégré pour l'analyse des ensembles de données dans Azure Data Lake Store, étant associé au service d'analyse pour fournir un environnement de lac de données dans l'infonuagique. U-SQL peut également être utilisé pour exécuter des requêtes sur des magasins de données relationnelles incluant Azure SQL Database, le cousin basé sur l'infonuagique de SQL Server, ainsi que des instances Azure SQL Data Warehouse, Azure Blob Storage et SQL Server étant configurées dans des machines virtuelles Azure.
Comment utiliser U-SQL
Le code U-SQL est écrit sous forme de scripts incluant une séquence d'instructions pour lancer des actions de traitement. Pour l'instant, le service Azure Data Lake Analytics ne prend en charge que les tâches de traitement par lots via U-SQL. Par conséquent, les requêtes ne peuvent pas renvoyer directement les résultats ; selon Microsoft, les scripts U-SQL sont généralement structurés pour récupérer les données des systèmes sources dans un format d'ensemble de lignes, les transformer selon les besoins, puis sortir les données transformées dans un fichier ou une table U-SQL pour analyse.
Pour traiter des ensembles de données non structurées dans un lac de données, les utilisateurs U-SQL peuvent appliquer un schéma à la lecture, une approche courante dans les systèmes de mégadonnées ne nécessitant pas de conformité à un schéma rigide, comme le font les bases de données relationnelles. Une logique de traitement personnalisée et une variété de fonctions, de types, d'agrégats et d'objets définis par l'utilisateur - ces derniers comprenant des extracteurs, des processeurs, des sorties et plus encore - peuvent également être insérés dans des scripts.
Les scripts U-SQL peuvent être écrits et soumis au service Azure Data Lake Analytics pour exécution dans Visual Studio 2017, à l'aide d'un plugiciel appelé Azure Data Lake et Stream Analytics Tools. Une extension U-SQL est également disponible pour Visual Studio Code, l'éditeur de code léger de Microsoft ; il est simplement connu sous le nom d'Azure Data Lake Tools. De plus, les utilisateurs peuvent exécuter des travaux U-SQL sur Azure Data Lake Analytics via le portail Azure, l'interface de ligne de commande Azure CLI ou PowerShell.