Télécharger

Transcription

Télécharger
Jeff Feng, chef de produit Tableau Software
Les 5 meilleures pratiques
pour Tableau et Hadoop
2
Tableau a été conçu pour faciliter les échanges en temps réel avec les données via plusieurs
plates-formes. Les utilisateurs professionnels ayant le sentiment d’être freinés par les outils
traditionnels se sont tournés vers ce modus operandi. Que se passe-t-il alors lorsque les
requêtes sont renvoyées après quelques heures ou minutes, au lieu de quelques secondes ?
Peuvent-ils rester concentrés sur leur tâche ?
Nous vivons à une époque où il est possible d’analyser les millions ou même les milliards de
lignes de données à notre disposition. Pourtant, l’utilisateur s’attend à obtenir des résultats
presque instantanés (voir l’étude sur la règle des 2 secondes pour la récupération d’informations).
Lorsque le temps de réponse et d’interaction est supérieur à 2 ou 3 secondes, l’utilisateur perd
le fil de l’analyse visuelle. Il est donc impératif d’assurer une vitesse suffisante pour les requêtes,
pour que l’utilisateur reste concentré et appréhende au mieux ses déploiements Big Data.
Un certain nombre de meilleures pratiques lui permettent d’optimiser les performances de
ses visualisations et de ses tableaux de bord Tableau créés sur des plates-formes Big Data.
Les meilleures pratiques consistent essentiellement en cinq activités :
1.
2.
3.
4.
5.
L’exploitation d’un moteur de requête interactif rapide
L’utilisation stratégique des connexions en direct et des extraits
L’organisation de vos données depuis le lac de données
L’optimisation de vos extraits
La personnalisation des performances de votre connexion
3
1.
L’exploitation d’un moteur de requête interactif rapide
Les requêtes Hive exécutées sur Hadoop à l’aide de MapReduce sont particulièrement
lentes en raison du traitement associé au mappage des requêtes SQL dans une tâche
MapReduce. L’utilisation de Hive avec MapReduce est très intéressante pour réaliser
des traitements par lots, comme pour les applications ETL, car ce service offre une
grande tolérance aux pannes. Cependant, il reste limité en termes de performances.
Nouveaux indicateurs de performance
pour SQL sur Hadoop : Impala 1.4
creuse l’écart en termes de performance
Les évolutions de Hive se traduisent par de nouvelles structures d’application telles
que Tez (qui permet les requêtes interactives) et Spark (qui permet le traitement
en mémoire), qui améliorent considérablement la vitesse des requêtes.
En dehors de Hive sur Hadoop, il existe un certain nombre d’options très intéressantes
pour accélérer vos requêtes. Impala est très connu pour avoir les performances les plus
rapides sur Hadoop selon les derniers indicateurs. Bien qu’il en soit encore à un stade
initial de son développement, Spark SQL a montré un fort potentiel en tant que moteur
de traitement de données rapide. Il peut traiter des données stockées sur Hadoop ou
sur des RDD de schéma Spark référencés par un métastore Hive. Impala et Spark SQL
L’indicateur de performance du Big Data
offre des comparaisons quantitatives
et qualitatives pour cinq systèmes.
sont tous les deux pris en charge en tant que connecteurs nommés dans Tableau.
Pivotal HAWQ, Presto et Apache Drill sont également des technologies régulièrement
mentionnées dans les discussions relatives aux performances sur Hadoop.
Il existe d’autres possibilités en dehors de Hadoop. Vous pouvez aussi héberger vos
données dans des bases de données analytiques rapides comme Actian Vector,
HP Vertica, Teradata Aster Data, SAP HANA, ParAccel, Pivotal Greeplum, etc. pour
les requêtes à faible latence des utilisateurs professionnels de Tableau une fois que
ces données ont été traitées dans Hadoop. Les services d’infrastructure hébergés
dans le cloud connaissent également un succès croissant. Google BigQuery exploite
l’infrastructure massive de Google, excellente pour traiter des données ainsi que
pour permettre des requêtes rapides, en particulier pour de grands ensembles de
données. D’un autre côté, Amazon Redshift est un entrepôt de données en colonnes
entièrement géré, axé sur l’accès rapide aux données. Récemment, plusieurs
nouvelles technologies issues de startups et de projets open source qui utilisent les
cubes OLAP (traitement analytique en ligne) (AtScale, eBay Kylin) ou des moteurs
d’indexation (JehtroData) pour Hadoop ont vu le jour. Elles offrent la possibilité
d’interroger un milliard de lignes ou plus avec une faible latence.
4
2.
L’utilisation stratégique des connexions en direct et des extraits
L’architecture de données hybride Tableau permettant de se connecter en direct à une
source de données ou au moteur de données Tableau via un extrait stocké en mémoire
offre aux utilisateurs une flexibilité optimale pour exploiter le Big Data. Les extraits sont
parfaits lorsque les moteurs de requête rapides ne sont pas disponibles, pour des
ensembles de données de petite ou moyenne taille (pas plus de plusieurs centaines de
millions de lignes) ou s’il faut une analyse hors ligne. Pour des ensembles de données
plus volumineux, Hadoop Hive et d’autres moteurs de requête seront plus efficaces que
Tableau en raison de l’exécution distribuée. Aussi, lorsqu’un moteur de base de données
rapide est disponible ou si une analyse en temps réel est requise, il est préférable de
choisir une connexion en direct. La liste complète des scénarios recommandés est
indiquée ci-dessous dans la Figure 1.
Extraits
Connexion en direct
recommandés
recommandée
Lorsque l’exécution des requêtes
de base de données est lente
Lorsqu’un moteur de requête de base
de données rapide est disponible
Lorsqu’un ensemble de données
plus petit est utilisé (par exemple,
des centaines de millions de lignes
ou moins)
Lorsque des ensembles de données
plus volumineux sont requis
Lorsqu’une analyse hors ligne
est requise
Lorsqu’une analyse en temps
réel est requise
Lors de l’utilisation de requêtes
SQL personnalisées
Lorsqu’un classeur utilise des
fonctions RAWSQL directes
Lorsque des fonctionnalités
analytiques supplémentaires
sont nécessaires (définition,
rang, différenciation, médiane)
Lorsqu’une sécurité substantielle
au niveau de l’utilisateur est requise
(à l’exception des extraits publiés
sur Tableau Server)
Figure 1 : scénarios recommandés pour les extraits et les connexions en direct.
5
3.
L’organisation de vos données depuis le lac de données
L’un des avantages de Hadoop est que sa faculté d’adaptation, sa rentabilité et
sa capacité à gérer des données non structurées en font un lac de données idéal,
autrement dit un référentiel pour contenir toutes vos données dans leur format natif.
Tableau est un outil efficace pour explorer vos données dans le lac de données, mais
lorsque vous voulez les meilleures performances pour une visualisation comparative
de vos données avec Hadoop, que vos travailleurs du savoir pourront exploiter, il est
toujours préférable de commencer par organiser au mieux votre ensemble de données.
En tant qu’administrateur informatique, vous avez à votre disposition diverses
techniques pour améliorer l’efficacité de votre cluster Hadoop :
Conception des partitions : l’organisation d’une table Hive dans des fichiers séparés
(chacun comportant de nombreux blocs de données), le tout dans un système
distribué avec un ou plusieurs champs de partitionnement, peut grandement accélérer
les requêtes par rapport à une requête filtrée par un champ non partitionné.
Taille de l’ensemble de données : lorsque vous savez quelles dimensions et mesures
observer pour un ensemble d’analyses et que vous connaissez la plage de lignes, le fait
de limiter le meilleur ensemble de données présenté à vos travailleurs du savoir vous
permettra de toujours optimiser les performances.
Les champs clusterisés en tant que champs de regroupement et clés de jointure :
les champs qui sont clusterisés peuvent déterminer la façon dont les données de
la table sont séparées sur le disque. Les champs clusterisés JOIN et GROUP BY
verront leurs performances optimisées.
Format de fichier de stockage : le format de fichier joue un rôle essentiel dans
l’exécution efficace des requêtes. Utilisez le format de fichier qui correspond le mieux
au moteur de requête que vous utilisez. Pour Hive, il s’agit du format Optimized Row
Columnar (ORC), et pour Impala, il s’agit de Parquet.
Conception d’un modèle de données
• Type de données : utilisez des données de type numérique aussi souvent
que possible, celles-ci étant bien plus rapides que les chaînes.
• Jointures : évitez les jointures inutiles, car elles ne sont pas parfaitement
implémentées sur de nombreux systèmes Big Data. Si vous utilisez des jointures,
exécutez d’abord l’instruction COMPUTE STAT pour aider le moteur de traitement
à optimiser automatiquement les performances des requêtes de jointure.
• Formules : évitez d’utiliser des formules qui ne peuvent pas être
évaluées efficacement.
6
4.
L’optimisation de vos extraits
Le moteur de données de Tableau est une base de données analytique en mémoire
qui exploite toute la hiérarchie de la mémoire entre le disque et le cache L1. Il peut
être un outil puissant pour accélérer votre analyse. Bien qu’il n’ait pas été créé pour
avoir la même envergure que Hadoop, le moteur de données de Tableau peut
fournir des résultats à faible latence par rapport aux extraits de données avec une
cardinalité de centaines de millions de lignes et un grand nombre de colonnes.
Bien que l’exploitation des extraits dans le moteur de données de Tableau permette
instantanément d’optimiser les performances, il existe plusieurs façons d’accélérer
vos requêtes en diminuant la taille de vos données :
Définir des filtres : créez un filtre de façon à vous concentrer uniquement sur
les données intéressantes.
Masquer les champs inutilisés : masquez les champs qui ne sont pas requis
pour l’analyse de façon à rendre l’extrait compact et concis.
Regrouper des dimensions visibles : regroupez préalablement les données pour
obtenir un affichage plus sommaire lorsque les détails ne sont pas nécessaires afin
de conduire aux mêmes découvertes avec des requêtes plus rapides.
Regrouper les dates : regroupez des dates dans des chronologies plus sommaires
lorsque cela est possible.
Échantillonnage : pour des bases de données qui prennent en charge cette
fonctionnalité, l’échantillonnage peut compresser considérablement les données
tout en continuant à représenter les tendances principales.
N premiers : si vous recherchez simplement les valeurs les plus élevées d’un
ensemble de données, il s’agit là d’un moyen efficace de réduire la taille de
l’ensemble de données.
7
5.
La personnalisation des performances de votre connexion
En tant qu’utilisateur de Tableau, vous disposez d’un certain nombre de possibilités
pour optimiser les performances de votre connexion pour des requêtes en direct :
SQL personnalisé : le SQL personnalisé vous permet d’utiliser des expressions
SQL comme base pour une connexion dans Tableau. Cela peut être particulièrement
efficace pour limiter la taille de l’ensemble de données (en utilisant la clause LIMIT).
Vous pourrez ensuite explorer ou façonner un nouvel ensemble de données.
SQL initial : le SQL initial offre la possibilité de définir les paramètres de configuration
et de travailler dès que vous établissez une connexion. Vous pouvez notamment
effectuer les actions suivantes :
• Améliorer le parallélisme pour l’analyse des données en réduisant la taille
du bloc par défaut pour les fonctions Map et Reduce.
• Optimiser les performances des jointures en activant des filtres clusterisés.
• Régler les configurations pour une distribution inégale en activant les paramètres
qui demandent à Hive d’adopter une autre approche pour les tâches MapReduce.
Résumé
Nous sommes entrés dans l’ère du Big Data : les volumes de données deviennent
plus importants et les entreprises se tournent vers Hadoop, Spark et NoSQL pour
leur infrastructure de données afin de s’adapter à la nouvelle norme en matière de
données. La capacité de Tableau à développer quotidiennement le potentiel des
professionnels met les informations visuelles du Big Data à la portée de tous. Même
si vous adoptez les meilleures pratiques et que vous les adaptez à votre application,
vous serez en mesure de maximiser la valeur de vos investissements Big Data.
8
À propos de Tableau
Tableau aide les utilisateurs à visualiser et à comprendre leurs données. Tableau permet à chacun
d’analyser, de visualiser et de partager rapidement des informations. Plus de 26 000 clients font confiance
à Tableau pour obtenir rapidement des résultats, au bureau ou en déplacement. Tableau Public permet
à des dizaines de milliers d’utilisateurs de partager des données sur leurs blogs et sites Web. Découvrez
comment Tableau peut vous aider. Téléchargez la version d’évaluation gratuite à l’adresse
www.tableau.com/fr-fr/trial.
Ressources supplémentaires
Télécharger une version d’évaluation gratuite
Démos produit
Formations et didacticiels
Communauté et assistance
Témoignages clients
Solutions
Livres blancs connexes
Ce que Tableau pense du Big Data
7 conseils pour maîtriser le Big Data
Promouvoir la culture des données : un rapport spécial de l’Economist Intelligence
Unit et Tableau
Big Data : la prochaine révolution industrielle
Tableau Software et le Big Data
Groupe Aberdeen : optimiser la valeur des analyses et du Big Data
Voir tous les livres blancs
Tableau et Tableau Software sont des marques commerciales de Tableau Software, Inc. Tous les autres
noms de société et de produit peuvent être des marques appartenant à leurs détenteurs respectifs.