7 outils pour apprivoiser le Big Data avec Hadoop

Les inondations qui ont dévasté l'industrie du disque dur en Thaïlande remontent à six mois et les prix du téraoctet baissent enfin à nouveau. Cela signifie que les données commenceront à s'accumuler et que les gens autour du bureau se demanderont ce qu'on peut en faire. Peut-être y a-t-il des informations dans ces fichiers journaux? Peut-être qu'un peu d'analyse statistique trouvera des pépites d'or enfouies dans tout ce bruit? Peut-être pouvons-nous trouver suffisamment de monnaie enfouie dans les coussins du canapé de ces dossiers pour nous donner à tous une augmentation?

L'industrie a maintenant un mot à la mode, «big data», pour savoir comment nous allons faire quelque chose avec l'énorme quantité d'informations qui s'accumulent. «Big data» remplace «business intelligence», qui englobe «reporting», qui met une plus belle brillance sur les «feuilles de calcul», qui a battu les «imprimés» à l'ancienne. Les gestionnaires qui ont étudié il y a longtemps des imprimés embauchent maintenant des mathématiciens qui prétendent être des spécialistes du Big Data pour les aider à résoudre le même vieux problème: qu'est-ce qui se vend et pourquoi?

[Aussi sur: Enterprise Hadoop: le traitement des Big Data simplifié | Explorez les tendances et les solutions actuelles en matière de BI avec l'iGuide interactif de Business Intelligence. | Découvrez les nouveautés des applications métier grâce à la newsletter Technologie: Applications. ]

Il n'est pas juste de suggérer que ces mots à la mode sont de simples remplacements les uns pour les autres. Le Big Data est un monde plus compliqué car l'échelle est beaucoup plus grande. Les informations sont généralement réparties sur plusieurs serveurs et le travail de compilation des données doit être coordonné entre eux. Dans le passé, le travail était largement délégué au logiciel de base de données, qui utilisait son mécanisme magique JOIN pour compiler des tableaux, puis additionnait les colonnes avant de transmettre le rectangle de données au logiciel de reporting qui le paginait. C'était souvent plus difficile qu'il n'y paraît. Les programmeurs de bases de données peuvent vous raconter des histoires sur des commandes JOIN compliquées qui verrouillaient leur base de données pendant des heures alors qu'il tentait de produire un rapport pour le patron qui voulait ses colonnes juste pour.

Le jeu est bien différent maintenant. Hadoop est un outil populaire pour organiser les racks et les racks de serveurs, et les bases de données NoSQL sont des outils populaires pour stocker des données sur ces racks. Ces mécanismes peuvent être beaucoup plus puissants que l'ancienne machine unique, mais ils sont loin d'être aussi perfectionnés que les anciens serveurs de bases de données. Bien que SQL puisse être compliqué, écrire la requête JOIN pour les bases de données SQL était souvent beaucoup plus simple que de collecter des informations à partir de dizaines de machines et de les compiler en une seule réponse cohérente. Les travaux Hadoop sont écrits en Java, ce qui nécessite un autre niveau de sophistication. Les outils de lutte contre le Big Data commencent tout juste à intégrer cette puissance de calcul distribuée d'une manière un peu plus facile à utiliser.

De nombreux outils Big Data fonctionnent également avec les magasins de données NoSQL. Celles-ci sont plus flexibles que les bases de données relationnelles traditionnelles, mais la flexibilité n'est pas aussi éloignée du passé que Hadoop. Les requêtes NoSQL peuvent être plus simples car la conception de la base de données décourage la structure tabulaire compliquée qui entraîne la complexité du travail avec SQL. Le principal souci est que le logiciel doit anticiper la possibilité que toutes les lignes n'aient pas des données pour chaque colonne.

Le plus grand défi peut être de faire face aux attentes créées par le grand film "Moneyball". Tous les patrons l'ont vu et ont absorbé le message selon lequel certaines statistiques intelligentes peuvent transformer une équipe à petit budget en vainqueur des World Series. Qu'à cela ne tienne, l'Oakland Athletics n'a jamais remporté la Série mondiale à l'époque du "Moneyball". C'est la magie de la prose de Michael Lewis. Les patrons pensent tous: "Peut-être que si je peux obtenir de bonnes statistiques, Hollywood embauchera Brad Pitt pour me jouer dans la version cinématographique."

Aucun des logiciels de cette collection ne parviendra à attirer Brad Pitt pour qu'il demande à son agent une copie du script de la version film de votre travail Hadoop. Cela doit venir de vous ou des autres humains travaillant sur le projet. Comprendre les données et trouver la bonne question à poser est souvent beaucoup plus compliqué que d'exécuter rapidement votre tâche Hadoop. Cela veut vraiment dire quelque chose parce que ces outils ne représentent que la moitié du travail.

Pour avoir une idée de la promesse du domaine, j'ai téléchargé des outils de Big Data, mélangés à des données, puis j'ai regardé les réponses pour un aperçu de qualité Einstein. Les informations provenaient des fichiers journaux du site Web qui vend certains de mes livres (wayner.org), et je cherchais une idée de ce qui se vendait et pourquoi. J'ai donc déballé le logiciel et posé les questions.

 

Outils Big Data: Jaspersoft BI Suite

Le package Jaspersoft est l'un des leaders open source pour la production de rapports à partir de colonnes de bases de données. Le logiciel est bien rodé et déjà installé dans de nombreuses entreprises qui transforment des tables SQL en PDF que tout le monde peut examiner lors de réunions.

L'entreprise saute dans le train du Big Data, ce qui signifie ajouter une couche logicielle pour connecter son logiciel de génération de rapports aux endroits où les Big Data sont stockées. Le serveur JasperReports propose désormais des logiciels pour aspirer les données de la plupart des principales plates-formes de stockage, notamment MongoDB, Cassandra, Redis, Riak, CouchDB et Neo4j. Hadoop est également bien représenté, JasperReports fournissant un connecteur Hive pour accéder à l'intérieur de HBase.

Cet effort semble toujours en cours de démarrage - de nombreuses pages du wiki de documentation sont vierges et les outils ne sont pas entièrement intégrés. Le concepteur de requêtes visuelles, par exemple, ne fonctionne pas encore avec le CQL de Cassandra. Vous pouvez taper ces requêtes à la main.

Une fois que vous avez obtenu les données de ces sources, le serveur de Jaspersoft les résumera en tableaux et graphiques interactifs. Les rapports peuvent être des outils interactifs assez sophistiqués qui vous permettent d'explorer différents coins. Vous pouvez demander de plus en plus de détails si vous en avez besoin.

Il s'agit d'un coin bien développé du monde logiciel, et Jaspersoft se développe en facilitant l'utilisation de ces rapports sophistiqués avec de nouvelles sources de données. Jaspersoft n'offre pas de façons particulièrement nouvelles d'examiner les données, mais simplement des façons plus sophistiquées d'accéder aux données stockées dans de nouveaux emplacements. J'ai trouvé cela étonnamment utile. L'agrégation de mes données était suffisante pour donner un sens de base à qui allait sur le site Web et quand ils y allaient.

 

Outils Big Data: Pentaho Business Analytics

Pentaho est une autre plate-forme logicielle qui a commencé comme un moteur de génération de rapports; c'est, comme JasperSoft, se ramifier dans le big data en facilitant l'absorption des informations des nouvelles sources. Vous pouvez connecter l'outil Pentaho à de nombreuses bases de données NoSQL les plus populaires telles que MongoDB et Cassandra. Une fois les bases de données connectées, vous pouvez faire glisser et déposer les colonnes dans des vues et des rapports comme si les informations provenaient de bases de données SQL.

J'ai trouvé les tables de tri et de tamisage classiques extrêmement utiles pour comprendre qui passait le plus de temps sur mon site Web. Le simple tri par adresse IP dans les fichiers journaux a révélé ce que faisaient les gros utilisateurs.

Pentaho fournit également un logiciel pour dessiner des données de fichier HDFS et des données HBase à partir de clusters Hadoop. L'un des outils les plus intrigants est l'interface de programmation graphique connue sous le nom d'intégration de données Kettle ou Pentaho. Il a un tas de modules intégrés que vous pouvez faire glisser et déposer sur une image, puis les connecter. Pentaho a complètement intégré Hadoop et les autres sources, afin que vous puissiez écrire votre code et l'envoyer pour qu'il s'exécute sur le cluster.

 

Outils Big Data: Karmasphere Studio et Analyst

De nombreux outils de Big Data n'ont pas commencé leur vie comme des outils de reporting. Karmasphere Studio, par exemple, est un ensemble de plug-ins construits sur Eclipse. C'est un IDE spécialisé qui facilite la création et l'exécution de tâches Hadoop.

J'ai eu un rare sentiment de joie lorsque j'ai commencé à configurer un travail Hadoop avec cet outil de développement. Il y a un certain nombre d'étapes dans la vie d'un travail Hadoop, et les outils de Karmasphere vous guident à travers chaque étape, en montrant les résultats partiels en cours de route. Je suppose que les débogueurs nous ont toujours permis de scruter le mécanisme pendant qu'il effectue son travail, mais Karmasphere Studio fait quelque chose d'un peu mieux: lorsque vous configurez le flux de travail, les outils affichent l'état des données de test à chaque étape. Vous voyez à quoi ressembleront les données temporaires lorsqu'elles seront découpées, analysées, puis réduites.

Karmasphere distribue également un outil appelé Karmasphere Analyst, conçu pour simplifier le processus de fouille de toutes les données d'un cluster Hadoop. Il est livré avec de nombreux blocs de construction utiles pour programmer un bon travail Hadoop, comme des sous-programmes pour décompresser les fichiers journaux zippés. Ensuite, il les enchaîne et paramètre les appels Hive pour produire une table de sortie à parcourir.

 

Outils Big Data: Talend Open Studio

Talend propose également un IDE basé sur Eclipse pour enchaîner les jobs de traitement de données avec Hadoop. Ses outils sont conçus pour faciliter l'intégration des données, la qualité des données et la gestion des données, le tout avec des sous-programmes adaptés à ces tâches.

Talend Studio vous permet de créer vos jobs en faisant glisser et en déposant de petites icônes sur un canevas. Si vous souhaitez obtenir un flux RSS, le composant de Talend récupérera le RSS et ajoutera un proxy si nécessaire. Il existe des dizaines de composants pour collecter des informations et des dizaines d'autres pour faire des choses comme une «correspondance floue». Ensuite, vous pouvez afficher les résultats.

Assembler visuellement des blocs peut être simple une fois que vous avez une idée de ce que font et ne font pas les composants. C'était plus facile pour moi de comprendre quand j'ai commencé à regarder le code source assemblé derrière la toile. Talend vous permet de voir cela, et je pense que c'est un compromis idéal. La programmation visuelle peut sembler un objectif ambitieux, mais j'ai constaté que les icônes ne peuvent jamais représenter les mécanismes avec suffisamment de détails pour permettre de comprendre ce qui se passe. J'ai besoin du code source.

Talend gère également TalendForge, une collection d'extensions open source qui facilite le travail avec les produits de l'entreprise. La plupart des outils semblent être des filtres ou des bibliothèques qui relient les logiciels de Talend à d'autres produits majeurs tels que Salesforce.com et SugarCRM. Vous pouvez aspirer les informations de ces systèmes dans vos propres projets, ce qui simplifie l'intégration.

 

Outils Big Data: Skytree Server

Tous les outils ne sont pas conçus pour faciliter l'enchaînement de code avec des mécanismes visuels. Skytree propose un ensemble qui exécute de nombreux algorithmes d'apprentissage automatique les plus sophistiqués. Il suffit de taper la bonne commande dans une ligne de commande.

Skytree est plus concentré sur les tripes que sur l'interface graphique brillante. Skytree Server est optimisé pour exécuter un certain nombre d'algorithmes d'apprentissage automatique classiques sur vos données en utilisant une implémentation qui, selon l'entreprise, peut être 10 000 fois plus rapide que les autres packages. Il peut rechercher dans vos données des groupes d'éléments mathématiquement similaires, puis les inverser pour identifier les valeurs aberrantes qui peuvent être des problèmes, des opportunités ou les deux. Les algorithmes peuvent être plus précis que les humains et ils peuvent rechercher dans de grandes quantités de données des entrées qui sortent un peu de l'ordinaire. Cela peut être une fraude - ou un client particulièrement bon qui dépensera et dépensera.

La version gratuite du logiciel offre les mêmes algorithmes que la version propriétaire, mais elle est limitée à des ensembles de données de 100 000 lignes. Cela devrait être suffisant pour déterminer si le logiciel correspond bien.

 

Outils Big Data: Tableau Desktop et Server

Tableau Desktop est un outil de visualisation qui permet d'examiner facilement vos données de nouvelles manières, puis de les découper et de les regarder d'une manière différente. Vous pouvez même mélanger les données avec d'autres données et les examiner sous un autre jour. L'outil est optimisé pour vous donner toutes les colonnes des données et vous permettre de les mélanger avant de les insérer dans l'un des dizaines de modèles graphiques fournis.

Tableau Software a commencé à adopter Hadoop il y a plusieurs versions, et vous pouvez désormais traiter Hadoop «comme vous le feriez avec n'importe quelle connexion de données». Tableau s'appuie sur Hive pour structurer les requêtes, puis fait de son mieux pour mettre en cache autant d'informations en mémoire pour permettre à l'outil d'être interactif. Alors que la plupart des autres outils de création de rapports reposent sur une tradition de génération de rapports hors ligne, Tableau souhaite offrir un mécanisme interactif afin que vous puissiez découper et découper vos données encore et encore. La mise en cache permet de gérer une partie de la latence d'un cluster Hadoop.

Le logiciel est bien soigné et esthétique. Je me suis souvent retrouvé à redimensionner les données juste pour les voir dans un autre graphique, même s'il n'y avait pas grand-chose de nouveau à apprendre en passant d'un graphique à secteurs à un graphique à barres et au-delà. L'équipe du logiciel comprend clairement un certain nombre de personnes ayant un certain talent artistique.

 

Outils Big Data: Splunk

Splunk est un peu différent des autres options. Ce n'est pas exactement un outil de génération de rapports ou un ensemble de routines d'IA, bien qu'il accomplisse une grande partie de cela en cours de route. Il crée un index de vos données comme si vos données étaient un livre ou un bloc de texte. Oui, les bases de données créent également des index, mais l'approche de Splunk est beaucoup plus proche d'un processus de recherche de texte.

Cette indexation est étonnamment flexible. Splunk est déjà réglé sur mon application particulière, donnant un sens aux fichiers journaux, et cela les a aspirés. Il est également vendu dans un certain nombre de packages de solutions différents, dont un pour surveiller un serveur Microsoft Exchange et un autre pour détecter les attaques Web. L'index permet de corréler les données dans ces scénarios et dans plusieurs autres scénarios courants côté serveur.