la création de la partition dans la table externe dans la ruche
J'ai créé et ajouté partitions Dynamiques dans un table Interne dans la ruche. c'est à dire en utilisant les étapes suivantes:
1-créé une table source
2-chargement des données locales dans la table source
3 - créé une autre table avec partitions - partition_table
4 - inséré les données de ce tableau à partir de la source de la table résultant dans la création de toutes les partitions de façon dynamique
Ma question est, comment faire cela dans la table externe? J'ai lu beaucoup d'articles sur ce sujet, mais je suis confus , que dois-je spécifier le chemin d'accès à la déjà partitions existantes pour la création de partitions pour la table externe??
exemple:
Étape 1:
create external table1 ( name string, age int, height int)
location 'path/to/dataFile/in/HDFS';
Étape 2:
alter table table1 add partition(age)
location 'path/to/already/existing/partition'
Je ne suis pas sûr de savoir comment procéder avec le partitionnement de tables externes. Quelqu'un peut-il s'il vous plaît aider en donnant étape par étape, la description de la même chose?.
Merci d'avance!
- oui, vous devez spécifier le chemin d'accès.
Vous devez vous connecter pour publier un commentaire.
1. Dessous de la propriété
set hive.exec.dynamic.partition=true
set hive.exec.dynamic.partition.mode=nonstrict
2. Créer Externe table partitionnée
create external table1 ( name string, age int, height int)
location 'path/to/dataFile/in/HDFS';
3. Insérer les données dans une table partitionnée de la table source.
Fondamentalement , le processus est le même. c'est juste que vous créez externe table partitionnée et de fournir HDFS chemin de table en vertu de laquelle il permettra de créer et de stocker de la partition.
Espère que cette aide.
Oui, vous avez à dire à la Ruche explicitement ce qu'est votre partition champ.
Considérer que vous avez une suite de HDFS répertoire sur lequel vous souhaitez créer une table externe.
Disons que ce répertoire ont déjà des données stockées(partitionné) ministère sage comme suit:
Chacun de ces répertoires ont des tas de fichiers où chaque fichier
contient de vrais séparées par des virgules, des données pour des champs de dire le nom,l'âge,la hauteur.
Maintenant, nous allons créer une table externe sur ce:
L'étape 1. Créer une table externe:
L'étape 2. Ajouter des partitions:
Fait, exécutez la requête select une fois pour vérifier si les données chargées avec succès.
Suivez les étapes ci-dessous:
Créer une table temporaire/table Source
Utiliser votre délimiteur comme dans le fichier au lieu de ',';
Charger des données dans la table source
Créer une table externe avec une partition
Activer la partition dynamique mode de nonstrict
Charger des données de table externe avec les partitions à partir de fichier source
Que c'est.
Vous pouvez vérifier les partitions de l'information à l'aide de
Vous pouvez même vérifier si c'est une table externe ou non à l'aide de
De la table externe est un type de tableau dans la Ruche où les données ne sont pas déplacés à la ruche de l'entrepôt. Cela signifie que même si U effacer le tableau, les données persiste et vous obtiendrez toujours les données les plus récentes, ce qui n'est pas le cas avec la gestion du tableau.