Accueil Finances personnelles Joindre Tables avec Hive - des nuls

Joindre Tables avec Hive - des nuls

Vidéo: SQL Inner Join Multiple Tables with SUM Tutorial - SQL 2008/2012/2016/2017 2025

Vidéo: SQL Inner Join Multiple Tables with SUM Tutorial - SQL 2008/2012/2016/2017 2025
Anonim

Vous savez probablement déjà que les experts en modélisation et conception de bases de données relationnelles passent beaucoup de temps à concevoir des bases de données normalisées, . La base de données normalisation est une technique qui protège contre la perte de données, la redondance et d'autres anomalies au fur et à mesure que les données sont mises à jour et récupérées. Les experts suivent un certain nombre de règles pour arriver à une base de données normalisée, mais la règle 1 est que vous devez vous retrouver avec un

groupe de tables. (Une grande table stockant toutes vos données n'est pas normale - jeu de mots.) Il existe des exceptions, selon le cas d'utilisation, mais la loi de nombreuses tables est généralement suivie de près, en particulier pour les bases de données. par exemple).

Lorsque vous commencez à interroger et analyser vos données, les tables sont jointes en fonction des relations définies entre elles en utilisant SQL - ce qui signifie que les disques sont finalement occupés sur votre serveur lorsque vous commencez à joindre des tables. les disques occupés entraînent généralement des temps de réponse de l'utilisateur plus lents. Cependant, la bonne nouvelle est que les SGBDR et les EDW sont réglés pour rendre les jointures aussi rapides que possible.

Qu'est-ce que tout cela a à voir avec les jointures dans Hive? Eh bien, rappelez-vous que le système d'exploitation sous-jacent pour Hive est (surprise!) Apache Hadoop: MapReduce est le moteur pour joindre les tables, et le système de fichiers Hadoop (HDFS) est le stockage sous-jacent. C'est une bonne nouvelle pour l'utilisateur qui veut créer, gérer et analyser de grandes tables avec Hive.

Le potentiel de débloquer des informations cachées dans des structures de données massives est excitant. Cependant, les jointures avec Hive ne fonctionnent généralement pas aussi bien que dans le monde RDBMS / EDW, de sorte que les utilisateurs débutants sont souvent surpris par le «pokiness» de la réponse du système.

Rappelez-vous que MapReduce et HDFS sont optimisés pour le débit avec l'analyse Big Data et que, dans ce monde, latences - les temps de réponse des utilisateurs, en d'autres termes - sont généralement élevés. Hive est conçu pour le traitement analytique par lots, et non pour le traitement rapide des transactions en ligne. Les utilisateurs qui veulent les meilleures performances possibles avec SQL sur Apache Hadoop ont des solutions disponibles.

Gardez cette dynamique à l'esprit lorsque vous commencez à joindre des tables avec Hive. Notez également que les architectes Hive dénormalisent généralement leurs bases de données dans une certaine mesure, de sorte qu'il est courant d'avoir moins de grandes tables. C'est pourquoi des types de données complexes tels que STRUCTs et ARRAY sont fournis. Vous pouvez utiliser ces types de données complexes pour emballer beaucoup plus de données dans une seule table.

Comme la table Hive lit et écrit via HDFS implique généralement de très gros blocs de données, plus vous pouvez gérer de données dans une table, meilleures sont les performances globales.

L'accès au disque et au réseau est beaucoup plus lent que l'accès à la mémoire. Minimisez donc les lectures et les écritures HDFS autant que possible.

Avec ces informations de base à l'esprit, vous pouvez vous attaquer à la création de jointures avec Hive. Heureusement, la communauté de développement de Hive était réaliste et comprenait que les utilisateurs voudraient et devraient joindre des tables avec HiveQL. Cette connaissance devient particulièrement importante avec l'augmentation EDW. Les cas d'utilisation tels que les archives "queryable" nécessitent souvent des jointures pour l'analyse des données.

Voici un exemple de jointure Hive utilisant des tables de données de vol. La liste vous montre comment créer et afficher une table myflightinfo2007 et une table myflightinfo2008 à partir des plus grandes tables FlightInfo2007 et FlightInfo2008. Le plan a toujours été d'utiliser les tables myflightinfo2007 et myflightinfo2008 créées par le CTAS pour illustrer comment vous pouvez effectuer des jointures dans Hive.

La figure montre le résultat d'une jointure interne avec les tables myflightinfo2007 et myflightinfo2008 à l'aide du client SQL SQuirreL.

Hive prend en charge

equi-jointures, un type spécifique de jointure qui utilise uniquement des comparaisons d'égalité dans le prédicat de jointure. (ON m8 FlightNum = m7 FlightNum est un exemple d'équi-jointure.) Les autres comparateurs tels que Less Than (<) ne sont pas supportés. Cette restriction est uniquement due à des limitations sur le moteur MapReduce sous-jacent. En outre, vous ne pouvez pas utiliser OR dans la clause ON. La figure illustre l'exemple précédent de la jointure interne et de deux autres types de jointure Hive. Notez que vous pouvez confirmer les résultats d'une jointure interne en examinant le contenu des tables myflight2007 et myflight2008.

La figure suivante illustre le fonctionnement d'une jointure interne à l'aide d'un diagramme de Venn, au cas où vous ne maîtriseriez pas la technique. L'idée de base ici est qu'une jointure interne renvoie les enregistrements qui correspondent entre deux tables. Donc une jointure interne est un outil d'analyse parfait pour déterminer quels vols sont les mêmes de JFK (New York) à ORD (Chicago) en juillet 2007 et juillet 2008.

Optimiser les jointures de Hive est un sujet brûlant dans la communauté Hive. Pour plus d'informations sur les techniques d'optimisation actuelles, consultez la page Join Optimization sur le wiki Hive.

Joindre Tables avec Hive - des nuls

Le choix des éditeurs

Façons de perfectionner vos compétences scientifiques pour le test de sciences GED - mannequins

Façons de perfectionner vos compétences scientifiques pour le test de sciences GED - mannequins

Vous voulez pour vous assurer que vous êtes prêt quand vous allez passer le test GED Science. Lorsque vous passez le test, vous avez 90 minutes pour répondre à environ 50 questions dans les domaines scientifiques suivants: Domaine de contenu Pourcentage de questions Sciences de la vie 40% Sciences physiques (physique et chimie) 40% Terre et espace ...

À Quoi s'attendre de la section Raisonnement mathématique du GED - Les nuls

À Quoi s'attendre de la section Raisonnement mathématique du GED - Les nuls

Raisonnement mathématique section sur le GED teste les mathématiques que vous connaissez normalement à la fin de l'école secondaire. Parce que ce nouveau test est conçu pour vous préparer aux études postsecondaires et à l'emploi, il met l'accent sur les mathématiques en milieu de travail et les mathématiques scolaires. Environ 45% du test concerne un problème quantitatif ...

Conseils pour renforcer les phrases Wordy pour le GED RLA - dummies

Conseils pour renforcer les phrases Wordy pour le GED RLA - dummies

Un problème courant d'écriture sur le Raisonnement GED à travers le test d'arts du langage est des phrases verbeuses. La verbosité, dans l'esprit de la bonne écriture, est, selon les mots du grand poète, quelque chose que tout le monde devrait viser à éliminer pour que la précision de nos mots transparaisse et illumine le passage. Vous avez juste souffert à travers un ...

Le choix des éditeurs

Création d'un rapport avec Crystal Reports 10 - témoins

Création d'un rapport avec Crystal Reports 10 - témoins

Lorsque vous démarrez Crystal Reports 10, généralement l'une des trois choses suivantes: créer un rapport, modifier un rapport ou exécuter un rapport sur les données de votre base de données. Les rapports prennent des données à partir d'une base de données, les traitent, les formatent et les affichent ensuite sur une imprimante, un écran d'ordinateur ou un site Web. Crystal Reports ...

Traitant des commentaires Javadoc dans Eclipse - mannequins

Traitant des commentaires Javadoc dans Eclipse - mannequins

Lorsque vous utilisez Eclipse pour écrire du code Java, n'oubliez pas de éditez les commentaires de Javadoc (les choses qui commencent par / **). Vous pouvez ajouter des informations utiles lorsque vous modifiez les commentaires Javadoc et lorsque vous les modifiez, l'aide au code d'Eclipse propose des suggestions. N'oubliez pas ces astuces lorsque vous modifiez vos commentaires Javadoc: Ajouter un commentaire Javadoc: ...

Conversion de fichiers PDF, EPS ou Adobe Illustrator en éléments natifs QuarkXPress - mannequins

Conversion de fichiers PDF, EPS ou Adobe Illustrator en éléments natifs QuarkXPress - mannequins

Voici l'un des développements les plus excitants de QuarkXPress: Si vous avez déjà un document au format PDF, EPS ou Adobe Illustrator, QuarkXPress 2016 peut convertir tous ses objets en éléments natifs QuarkXPress en quelques secondes. Vous pouvez ensuite travailler avec ces éléments comme vous le pouvez avec d'autres éléments ...

Le choix des éditeurs

Traitement des bouffées de chaleur pendant la ménopause - les mannequins

Traitement des bouffées de chaleur pendant la ménopause - les mannequins

Souffrent souvent de bouffées de chaleur une vague intense de chaleur les surmonte. Suivez ces conseils pour réduire les bouffées de chaleur et leurs effets: Faites de l'exercice régulièrement. Seulement une femme sur 20 qui fait de l'exercice régulièrement éprouve des bouffées de chaleur. Parmi les femmes qui ne font pas d'exercice, une personne sur quatre éprouve des bouffées de chaleur. Allumez le ventilateur de plafond ou ...

Sexe For Dummies Cheat Sheet - les nuls

Sexe For Dummies Cheat Sheet - les nuls

Que vous vous considériez comme un Don Juan, une Lady Chatterly, ou un novice sexuel , tout le monde peut tirer le meilleur parti du sexe avec un peu plus de connaissances. Vous devriez savoir que les préliminaires sont quelque chose que vous devriez prendre en considération avec chaque interaction que vous et votre partenaire avez, ainsi que la façon de garder les choses ...

Mots et significations liés à la ménopause - mannequins

Mots et significations liés à la ménopause - mannequins

Bien que ce soit loin d'être une liste complète des termes que vous pourriez entendre être utilisé lorsque la ménopause est discutée, les cinq termes essentiels suivants devraient vous aider à comprendre les bases. HRT (hormonothérapie substitutive): Un traitement pour compléter les hormones que vous perdez pendant la ménopause - généralement une combinaison d'œstrogènes, ...