2017-07-18 2 views
0

Cela peut être une chose simple, mais j'ai du mal à trouver la réponse. Lorsque les données sont chargées dans HDFS, elles sont distribuées et chargées dans plusieurs nœuds. Les données sont partitionnées et distribuées.
Pour HIVE, il existe une option séparée pour PARTITION les données. Je suis assez sûr que même si vous ne mentionnez pas l'option PARTITION, les données seront divisées et distribuées à différents noeuds du cluster, lors du chargement d'une table Hive. Quel avantage supplémentaire cette commande donne-t-elle dans ce cas.Partition HDFS vs HIVE

+0

La distribution n'a rien à voir avec cela (partitionnement). C'est exactement le même concept que dans un système de fichiers local. –

+0

Le partitionnement stocke les données dans un sous-répertoire pour chaque partition. Lorsque vous filtrez par une colonne de partitionnement, Hive analyse uniquement les sous-répertoires spécifiés dans votre filtre, ce qui vous permet d'obtenir de meilleures performances. Comme l'a dit @DuduMarkovitz, cela n'a aucun rapport avec la distribution et la réplication de données HDFS. – Andrew

+0

Corrigez-moi si je me trompe. Lorsque vous chargez les données dans une table de ruche, les données sont segmentées ou partitionnées en blocs et enregistrées sur différents nœuds du cluster. Mon hypothèse est que même le partitionnement des données fait la même chose. Même si les données sont rangées dans des dossiers et des sous-dossiers lorsque PARTITIONNÉ dans HIVE, il est toujours enregistré en tant que blocs dans le HDFS. Si oui, que fait le partitionnement dans ce cas. Quel avantage supplémentaire procure-t-il? – kris

Répondre

-2

Partition HDFS: traite principalement du stockage des fichiers sur le noeud. Pour la tolérance aux pannes, les fichiers sont répliqués sur le cluster (à l'aide du facteur de réplication)

Partition Hive: c'est une technique d'optimisation dans Hive. Inside Hive DB, tout en stockant des tables et pour de meilleures performances sur les requêtes, nous allons pour le partitionnement. Le partitionnement fournit des informations sur la manière dont les données sont stockées dans la ruche et comment lire les données. Hive Le partitionnement peut être contrôlé au niveau de la colonne des données de la table.