L’idée de la session est de présenter HDInsight en montrant des exemples concrets d’utilisation. Cette session s’adresse aux consultants BI et aux désireux de connaitre la solution BigData de Microsoft ainsi qu’aux architectes SI. Au programme : présentation de l’offre BigData de Microsoft (HDInsight OnPremise ou dans Windows Azure), les outils du monde Hadoop (Hive, Pig, HBase, Sqoop, …), la place du Framework Hadoop dans nos systèmes d’informations, le tout ponctué de démonstrations. Session présentée lors du SQLSaturday Paris 2014
5. Speakers
Romain Casteres
Consultant BI & Big Data
@PulsWeb
www.PulsWeb.fr
SQLSaturday 323 – Paris 2014
David Joubert
Consultant Data & Analytics
@Dj_Uber
www.djuber.net
12. Explorer et transformer la données
Pig est une plateforme de traitement et d’analyse
de données dans Hadoop
Avantage :
Alternative à écrire du code MR directement
Utilisation (non exhaustive) :
Trouver des données pertinentes dans un dataset
Requêter plusieurs datasets
Faire des calculs sur un dataset (COUNT, SUM,…)
SQLSaturday 323 – Paris 2014
13. Analyse de la données
Hive est un système d'entrepôt de données dans Hadoop
Hive n'est pas une base de données relationnelle, il ne
conserve que les métadonnées de vos données
stockées sur le HDFS.
Hive convertit les requêtes HiveQL en commande Map
Reduce.
L’un des principaux avantages de HiveQL est sa
ressemblance avec le langage SQL.
SQLSaturday 323 – Paris 2014
14. Exportation de la donnée
Sqoop permet l’échange de données entre RDBMS et
Hadoop
Peut importer ou exporter toutes les tables, une seule
table, ou une partie d’une table dans HDFS (ou Azure
Blolb Storage)
Transforme les scripts en job MapReduce
SQLSaturday 323 – Paris 2014
HDINSIGHT VERSION 3.1 -> HDP 2.1 -> Hadoop 2.4 (On Premise / Dans le Cloud)
Hadoop possède différentes couches d’abstraction permettant notamment d’écrire des requêtes proches du T-SQL depuis Hive. Celles-ci seront alors transformées en job MapReduce.
Hive : Gestionnaire des données distribuées avec un langage proche du SQL (Facebook)
Pig : Scripting ETL (Twitter)
Sqoop : Transfer des données entre Hadoop et des SGBDR (SQL To Hadoop)
Hbase : Base de données non relationnelle
Hcatalog : services de méta données
Mahout : Langage de programmation pour le Machine Learning
Flume : Intégrateur de logs
Oozie : Ordonnanceur
…
Là ou hier nous détruisions les données qui n’apportai aucune intelligence a l’instant T, aujourd’hui nous pouvons nous permettre de la sauvegarder et de les analyser plus tard.
1h de HDInsight…
Afin de vous présenter l’utilisation de HDInsight, nous avons trouvé un jeu de donnée libre d’utilisation provenant de l’application Love Clean Streets.
Cette application permet a tous de signaler un délits environnemental aux autorités afin qu’elle puissent intervenir au plus vite.
Ces données sont :
Semi structurées : image du délits, commentaires, …
Volumineuses et variés, l’application évolue tout comme le nombre de champs disponibles
La vitesse a laquelle elles sont généré de villes en ville ne cesses d’augmenter
1 - Création du cluster HDInsight via l’interface
2 - Démos
1 – Données brute issues de Pig
2 – Création du cluster HDInsight : PowerShell
3 – Création de script Hive
Azure Automation est un service Azure actuellement en Preview.
Il permet d’automatiser des taches dans Azure en PowerShell
Des taches SSIS sont en développement (elles ne sont pas sortie a cause des problèmes de propriétés sur les logos…)
Il est cependant possible actuellement via le driver Hive ODBC de créer une source de connexion à Hive.
http://blogs.msdn.com/b/benjguin/archive/2014/07/24/sample-code-create-an-hdinsight-cluster-run-job-remove-the-cluster.aspx
ORC : Le format de fichier Optimized Row Columnar (ORC) permet un stockage des données Hive en colonne et améliore ainsi les performances en lecture, écriture, et en traitement !
TEZ simplifie le processing des données en généralisant le modèle de programmation Map Reduce dans une seule Job.
« set hive.use.tez.natively=true; set hive.enable.mrr=true; »
VECTORIZATION permet à Hive de traiter en mode batch un certain nombre de lignes.
Pour profiter de vectorisation, votre table doit être au format ORC. Pour activer vectorisation avec la propriété suivante. Lorsque la Vectorization est activée, Hive va examiner la requête et les données pour déterminer si la Vectorization est possible ou non, ce qui activera ou nom l’option. « hive.vectorized.execution.enabled = true »
Un fichier ORC se décompose d’un ensemble de lignes appelées Stripes (250Mb par défaut). Un fichier ORC a un pied de page qui contient la liste des emplacements des Stripes et des informations comme le Count, le Min, le Max, et le Sum de ses données. « ALTER TABLE tablename SET FILEFORMAT ORC; »