Hadoop et MySQL Intégration
Nous aimerions mettre en place Hadoop sur notre système pour améliorer ses performances.
Le processus fonctionne comme ceci:
Hadoop permettra de recueillir des données à partir de bases de données MySQL pour les traiter ensuite.
La sortie sera ensuite exporté retour à la base de données MySQL.
Est-ce une bonne mise en œuvre? Cela améliorera notre système à la performance globale?
Quelles sont les exigences et cela a été fait avant? Un bon tutoriel qui serait vraiment utile.
Grâce
OriginalL'auteur Jonar | 2011-01-26
Vous devez vous connecter pour publier un commentaire.
Bien qu'il n'est pas un régulier de l'utilisation de hadoop. Il mlgh sens dans le scénario suivant:
a) Si vous avez une bonne façon de partitionner vos données en entrées (comme les autres partitions).
b) Le traitement de chaque partition est relativement lourd. Je donnerais le numéro d'au moins 10 secondes de temps CPU par partition.
Si les deux conditions sont réunies, vous serez en mesure d'appliquer n'importe quelle quantité souhaitée de la puissance du PROCESSEUR pour faire de votre traitement de données.
Si vous faites la simple numérisation ou de l'agrégation - je pense que votre ne va pas gagner quoi que ce soit. Sur l'autre main, si vous allez exécuter certains CPU intensive des algorithmes sur chaque partition - alors, en effet, votre gain peut être important.
Je voudrais également mentionner un autre cas, - si votre traitement nécessite massive de données à trier. Je ne pense pas que MySQL va être bon dans le tri des milliards d'enregistrements. Hadoop va le faire.
Généralement hadoop de sens que si nous ajoutons une grande évolutivité. L'exécution de dizaines de contributeurs contre un MySQL ne donnera pas beaucoup de gain. Usage habituel est d'avoir hadoop pour prétraiter et d'agrégation des données brutes, puis charger dans les SGBDR...
OriginalL'auteur David Gruzman
Sqoop est un outil conçu pour importer des données à partir de bases de données relationnelles dans Hadoop
https://github.com/cloudera/sqoop/wiki/
et une vidéo à ce sujet http://www.cloudera.com/blog/2009/12/hadoop-world-sqoop-database-import-for-hadoop/
OriginalL'auteur Joe Stein
Hadoop est utilisé pour le lot en fonction des emplois principalement sur les grands de taille semi structuré de données.. Lot dans le sens même de la plus courte de l'emploi est de l'ordre de grandeur de minutes. Ce genre de performance, problème auquel vous êtes confronté? Elle est basée sur des transformations de données ou de rapports. En fonction de cette architecture peut aider ou de faire empirer les choses.
OriginalL'auteur Sai Venkat
Comme mentionné par Joe, Sqoop est un excellent outil de l'écosystème Hadoop pour importer et exporter des données à partir et vers SQL bases de données comme MySQl.
Si vous avez besoin de plus complexe, de l'intégration de MySQL, y compris par exemple le filtrage ou la traduction, alors vous devez utiliser un cadre d'intégration ou d'intégration suite à ce problème. Jetez un oeil à ma présentation "Le Big Data au-delà de Hadoop - Comment intégrer l'ENSEMBLE de vos données" pour plus d'informations sur la façon d'utiliser l'open source d'intégration des cadres et de l'intégration des suites avec Hadoop.
OriginalL'auteur Kai Wähner
Je suis d'accord avec Sai. Je suis en utilisant Hadoop avec MySql uniquement lorsque cela est nécessaire. J'ai exporter le tableau CSV et de les télécharger sur HDFS pour traiter les données plus rapidement. Si vous souhaitez persister les données traitées, vous allez avoir à écrire une seule réducteur de travail qui va faire une sorte de batchinserts pour améliorer les performances de l'insertion.
MAIS cela dépend vraiment de ce genre de choses que vous voulez faire.
OriginalL'auteur Thomas Jungblut