SQL Server – les columnstore index à la rescousse de la BI

Petit retour d’expérience sur l’usage des CCSI (Clustered Column Store Index) avec SQL Server 2014.

Avec un de nos clients, nous avons fait quelques bench sur le sujet. Sur une architecture équivalente, nous avons mis en place un index columnstore sur une table de fait contenant plus de 300 millions d’enregistrements. Malgré me dires et ceux de Microsoft, mes interlocuteurs étaient très sceptiques tout en fondant de grands espoirs. Lire la suite

#Datazen – Overview

Datazen est une solution de BI Mobile cross-platforme (iOS, Windows, Androïd) utilisée pour créer, partager, visualiser et commenter des dashboards sur tous vos terminaux.

Cette solution n’est pas nouvelle, connue depuis 2002 sous le nom de Component Art, elle a été rebrandée en Datazen en 2013 puis rachetée par Microsoft en avril 2015.

Elle se positionne comme une solution de BI Agile On-Premise, permettant de compléter l’offre de la stack MSBI face à la concurrence (notamment Tableau et Qlik).

Lire la suite

#PASSBAC 2015 – Paco Gonzalez – Social Listening, Data Extraction and Discovery

Le cycle de vie du social analytic est le suivant :

SocialListeningLifecycle

Pour démarrer, regardez du côté du APIs

  • Facebook : informations personnelles, volume, historique, requêtage
  • Twitter : informations personnelles, volume, historique, requêtage
  • Amazone : requêtage, données produit, évaluation

La source favorite pour débuter est Twitter car il s’agit d’une source publique, balisée (@, #, RT) et structurée (tous les tweets ont une longueur maximale de 140 caractères, sont émis par un utilisateur à un emplacement donné.

Pour récupérer plus d’informations sur les réseaux sociaux ou créer vos propres connecteurs aller sur GNIP ou Microsoft Azure App Services

Paco enchaîne ensuite par la première partie de sa démo relative à la collecte et au stockage des données; via un simple exe .Net. Les tweets émis en temps réel sont stockés sur un cluter Hadoop en HBase.

Les données sont ensuite affichées sur une carto permettant d’afficher le volume de tweets émis relatifs à un sujet en fonction de leur tonalité (négatif, neutre, positif).

Pour aller plus loin, la seconde démo doit permettre de croiser les données de ventes d’une société avec les données issues des réseaux sociaux (en l’occurrence twitter). Le dataset récupéré contient l’ensemble des tweets relatifs à la dite société.

Les challenges du Sentiment Analysis concerne l’interprétation des messages postés afin d’en déterminer le ton, il s’agit alors de comprendre

  • le ton de la phrase
  • et son contexte

Pour effectuer cette opération, il est possible de commencer par la définition d’un dictionnaire. Il suffit ensuite de parser les tweets et d’identifier les différents mots par rapports à ceux contenus dans le dictionnaire. Le mieux étant d’utiliser un dictionnaire existant, pour cela vous pouvez vous baser sur SentiWordNet.

L’inconvénient de cette technique étant qu’elle ne tient pas compte ni du ton de la phrase ni de son contexte mais uniquement des mots utilisés. Cela permet, néanmoins, de se faire une première idée approximative.

Pour aller plus loin, il est possible de faire appel au Machine Learning pour identifier si la tonalité d’un message peut être déterminée par l’association/la combinaison de mots. Pour mettre en place le modèle et s’assurer de la tonalité, on prend un extrait d’1,6 millions de tweets contenant des emoticons. Une fois le modèle ML entraîné via cet échantillon, c’est l’ensemble de nos tweets qui sont évalués. Le dataset est ensuite récupéré et exposé dans un cube Analysis Services permettant alors d’analyser le volume les ventes de produit en fonction de leur couleur et de leur zone géographique et de croiser cette information avec l’analyse sentimentale des tweets.

A travers cet exemple simple, il est possible d’obtenir une analyse comportementale des ventes par zone géographique et facilite donc la prise de décisions quant aux actions à mener.

N’oubliez-pas Microsoft Azure Machine Learning est toujours gratuit alors profitez-en.

Pour plus d’infos allez jeter un œil sur http://www.youtube.com/channel/UCkOKmMW_LEsACOqE8C1RWdw

Présentation très intéressante qui permet d’entrevoir l’intérêt des entreprises à se mettre au Big Data.

#PASSBAC 2015 – Andrew Brust – Using Hadoop with Excel and Power Query

Andrew débute la première partie de sa session en présentant Hadoop.

On parle de Big Data lorsque le volume de données dépasse les centaines de To et va jusqu’au Po ou plus. Il s’agit de données transactionnelles énormes issues en grande partie : des données financières, de logs de site web, des réseaux sociaux, des objets connectés (IoT), des données mobiles, etc. Pour pouvoir traiter et analyser ces données, un système monolytique ne suffit plus, il est nécessaire d’adopter une architecture scalable afin de pouvoir effectuer des traitements en parallèle au travers différents serveurs en cluster. C’est le principe même d’Hadoop.

Les concepts principaux à connaître sur Hadoop sont

  1. HDFS : Hadoop distributed files system : c’est le système de fichiers qui détermine où et comment les données sont distribuées et stockées sur le cluster. Les données sont répliquées sur les différents nœuds du cluster, ce qui permet :
  • d’avoir une architecture haute disponibilité (si un nœud tombe => aucune perte de données)

Distributed File System : on where data gets distributed over commodity drives on commodity servers

  • de pouvoir effectuer des traitements en parallèle
  • d’ajouter simplement de la puissance de calcul en ajoutant de nouveaux nœuds au cluster (scale-out)
  1. Map Reduce : c’est l’opération qui permet de parser l’ensemble des données en parallèle pour n’extraire que celles dont vous avez besoin. Cette opération se décline en deux temps :
  • Map step : les données sont parsées en parallèle sur l’ensemble des nœuds du cluster
  • Reduce step : retourne toutes les données associé à la même clé et les agrège

Ces opérations se font en java.

  1. Schema-on-Read : lorsque vous traiter des données non structurées, le schéma est imposé lors de la requête et dépend du contexte par exemple :
  • Si vous scanner un livre, les valeurs à retournées sont-elles les mots, les lignes, les pages, les chapitres ?
  • Est-ce que la date et l’heure sont deux champs séparés ou bien un seul …

Pig et Hive sont les deux outils qui permettront d’effectuer cette interprétation de schéma à la volée.

Andrew continue ensuite par la présentation de la stack Hadoop V1 puis V2. Je ne m’attarderai quant à moi qu’à la V2.

HadoopStack

Je complète juste par quelques annotations sur les éléments les plus marquants de cette stack :

  • HDFS : Hadoop Distributed File System
  • YARN : ressource governor
  • HBASE : base de données avec stockage en colonne
  • Hive et Pig : couche d’abstraction permettant de faire du Map Reduce
  • SCOOP : utiliser pour l’import/export RDBMS bidirectionnel
  • Sparl SQL, Impala et Tez permettent de faire du SQL interactif
  • Lucine et SolR sont des moteurs de recherche
  • Sparl MLib et Mahout : permettent de faire du machine learning/ Data Mining
  • Spark Streaming, Storm et Kafka : sont utilisés pour le Streaming Data

Les différentes distributions d’Hadoop sont Cloudera, Hortonworks HDP, MapR, IBM InfoSphere, Pivotal HD et Microsoft HDInsight. Elles utilisent toutes le même noyau Hadoop décrit précédemment.

Microsoft HDInsight a été développé avec Hortonworks et permet d’avoir une distribution HDP sous Windows. Les spécificités de cette distribution sont :

  • Windows Azure HDInsight
  • Azure Blobs Storage
  • L’accessibilité via du PowerShell et des cmdlets HDInsights
  • Une interface web permettant d’exécuter des requêtes Hive et de monitorer des jobs

S’en vient alors les démos :

  • Mise en place du cluster sous Azure
    • Création d’un cluster HDInight via le portail MS Azure => cela se fait en quelques clics, en configurant soit même le type de plateforme souhaitée (nombre de nœud dans le cluster, la région, le type de vm (core CPU + mémoire), un username, l’accès en RDP, le stockage). Le cluster Hadoop est créé et accessible quelques minutes
    • Connexion au cluster HDP via l’interface Azure
    • Utilisation de la console HDIngith Query Console vous permettant d’exécuter des requêtes Hive
    • Revue des solutions proposées avec ou sans sample data)
  • Hadoop commands (cf. slide pris en photo sur tel)
  • Connexion au cluster hadoop en rdp via la console Azure,
    • ouverture d’une fenêtre de command hadoop et quelques exemples de commandes Hadoop
    • Création d’un job executant une requête hive
  • Récupération de données HDP via Excel
    • Via le driver ODBC
  • Pig est un combo entre un requêteur et un ETL, il permet de travailler avec des données structurées et non structurées. Andrew nous livre quelques exemples de requêtes Pig.
  • Démo Power Query sur une source de données HDFS
  • Power Bi 2.0
    • Pas de dépendance avec Office 365
    • Moins cher : freemium model, Pro version pour $10/user/month
    • Across platform experience (iOS, Android, Windows)
  • Démo Power BI Designer
    • Connexion à HD Insight via Power Query, quelques transformations, puis passage en mode reporting/dahsboarding sur Power BI Site
  • Démo Tableau
    • Connexion à HD Insight et exécution de la même requête
    • Travail sur les mêmes données….

Andrew n’a pas eu le temps de faire d’autre démo avec d’autres outils comme Qlik Sense ou Jaspersoft, peu importe, quel que soit l’outil utilisé, les données Hadoop sont très facilement utilisables et exploitables.

Il ne vous reste plus qu’à aller sur le site d’Hortonworks pour aller télécharger la sandbox et jouer avec. Ou bien aller directement sur Azure.