J'utilise hive (avec des tables externes) pour traiter les données stockées sur amazon S3.Hive Table ajouter une partition pour charger tous les sous-répertoires
Mes données est partitionné comme suit: group/team/dt/
(par exemple, un fichier de données peuvent être stockées dans un chemin group=myGroup/team=myTeam/dt=20120603
)
Je voudrais traiter des données pour plusieurs équipes (dans différents groupes). Comme RCOVER PARTITIONS prend beaucoup de temps, je souhaite ajouter plusieurs partitions basées sur des valeurs de groupe et d'équipe à la table Hive (c'est-à-dire, des données de groupe et d'équipe pour toutes les dates disponibles dans cette équipe).
La fonctionnalité que je suis à la recherche est:
CREATE EXTERNAL TABLE myData(
attr1 string, attr2 string, attr3 string)
PARTITIONED BY (group string, team string, dt string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION 's3://myBucket/${DATA_ROOT_DIR}';
-- Add paritions without specifying values for dt
ALTER TABLE myData ADD PARTITION (group='group1',team='team1') ;
ALTER TABLE myData ADD PARTITION (group='group2',team='team2') ;
Merci!
La question concerne la récupération/l'ajout d'une partition et non la création dynamique d'une partition. Selon la question, la partition existe déjà, il veut récupérer certaines partitions de manière sélective. –