SELECT People FROM DataLake WHERE HappyFace = TRUE.

# Data lake analytics# U-Sql# Azure data factory# Azure# Data lake# IA# Data Lake Storage Gen 2
écrit par Amrou Ouni publié le mercredi 21 novembre 2018
Comment récupérer des informations dans du texte, des photos ou encore des vidéos ? Dans cette session Isabelle Van Campenhoudt et Jean Pierre Riehl démontrent à travers l'application "HappyFace" comment analyser les émotions des personnes à travers différents médias dans un Data Lake. Ce type d’application pourrait apporter des indications sur la satisfaction générale d’une audience, par exemple calculer la "hapinessitude" du public présent. 
"Un lac de données (en anglais data lake) est une méthode de stockage des données utilisée par le big data. Le principe étant d'avoir dans un lieu des données de natures différentes: fichiers, blob. Hadoop et Amazon Web Services S3 sont des plateformes utilisées pour les mettre en place."

Wikipedia

Architecture

"HappyFace" est basée sur une couche de services Azure. En effet, Azure data factory (ADF) permet d’orchestrer l’intégration d’images vers un Azure Blob Storage. Ensuite l'application peut tirer profit de la puissance d’Azure Data Lake Analytics (ADLA) pour analyser les images: ceux-ci seront taguées avec des mots clés en fonction des informations soustraites. Enfin, les résultats seront exploités via un tableau de bord Power BI.

[caption id="attachment_1070" align="alignnone" width="1889"] @Jean-Pierre Riehl https://www.sqlsaturday.com/748/Sessions/Details.aspx?sid=74310[/caption]  

U-SQL

U-SQL, le langage dédié, permettra l’exploitation des résultats à travers des requêtes « sql ». La particularité de ce langage est sa capacité à intégrer du code c# directement dans la requête! Ceci facilite énormément l’intégration des extensions cognitives d’Azure, la création de ses propres modèles entrainés (Algorithme d’IA), l'utilisation des moteurs d’IA comme SNTK (format ONNX) et même l'intégration des jobs SSIS. U-SQL permet aussi l’interaction avec d’autres langages mais avec certaines limitations, par exemple R et python.

Une requête U-SQL classique se constitue de trois blocks : Extraction de données (@checkins), Manipulation (@resByCat) et résultat (OUTPUT). Ci-dessous un exemple:

[caption id="attachment_1071" align="alignnone" width="1889"] @Jean-Pierre Riehl https://www.sqlsaturday.com/748/Sessions/Details.aspx?sid=74310[/caption]

Bonnes pratiques

Les intervenants ont aussi rappelé l’importance des notions de zoning (séparation logique/physique de données), de format et de sécurité. Ces bonnes pratiques permettent d’optimiser les processus et donc alléger considérablement la facture ;)

 A noter que c’est un système extrêmement distribué et qu’il est conseillé de paralléliser au mieux les « jobs » afin de réduire les coûts.

Microsoft a pris une avance considérable par rapport aux autres acteurs du big Data en mettant le paquet sur des services 100% PAAS.

Résultat final

Enfin, la démo se termine avec une analyse des photos prises durant la présentation: "49 visages détectés dans la salle pour un score de Hapinessitude de 59,5%", sympa :)

https://twitter.com/djeepy1/status/1060437402295193601