Qu’est-ce qu’U-SQL ? – Définition de WhatIs.com

U-SQL est un langage de requête Microsoft qui combine une syntaxe déclarative de type SQL avec la programmation C#, lui permettant à la fois d’être utilisé pour traiter des données structurées et non structurées dans des environnements Big Data. Introduit en 2015, U-SQL fait partie du service cloud Azure Data Lake Analytics de Microsoft, mais il permet aux utilisateurs d’exécuter des requêtes sur plusieurs magasins de données dans le cloud Azure.

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, qui stockent souvent des données non structurées qui peuvent poser des défis différents pour les langages de programmation SQL et procéduraux. 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

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 Structure 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 volumineux stockés sur des plates-formes distribuées. comme Hadoop au lieu des bases de données relationnelles basées sur SQL.

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 de l’infrastructure ou d’écrire ce que Microsoft appelle le “code repulpant”.

En tant que composant 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, qui est associé au service d’analyse pour fournir un environnement de lac de données dans le cloud. U-SQL peut également être utilisé pour exécuter des requêtes sur des magasins de données relationnelles qui incluent Azure SQL Database, le cousin basé sur le cloud de SQL Server, ainsi que des instances Azure SQL Data Warehouse, Azure Blob Storage et SQL Server qui sont configurées dans des machines virtuelles Azure. .

Comment utiliser U-SQL

Le code U-SQL est écrit sous forme de scripts qui incluent 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 en lecture, une approche courante dans les systèmes de Big Data qui n’exigent pas la 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.

L’image ci-dessous montre un exemple de script U-SQL simple de Microsoft. Dans ce cas, le script n’inclut aucune transformation de données : il extrait les données d’un fichier source de journal de recherche, applique un schéma et écrit l’ensemble de lignes résultant dans un fichier CSV :

Qu’est-ce qu’U-SQL ?  – Définition de WhatIs.com
Un exemple de script U-SQL

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 plug-in 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 Azure PowerShell.

Les autres magasins de données pouvant être interrogés avec U-SQL sont considérés comme des sources de données externes. Les utilisateurs doivent exécuter des requêtes fédérées sur eux, un processus qui implique la création d’objets de source de données dans U-SQL pour résumer les détails de la connexion à un magasin de données particulier et transmettre les requêtes à son propre moteur de requête pour exécution.

Microsoft affirme que la possibilité d’incorporer du code C # personnalisé dans des scripts U-SQL permet aux utilisateurs d’exprimer des algorithmes commerciaux complexes dans le cadre de requêtes. L’utilisation de types C # comme style de codage par défaut permet également aux utilisateurs de visualiser plus facilement la manière dont les données seront traitées lors de l’écriture de requêtes, selon l’entreprise.

Leave a Comment