La ruche: Créer une Table de Partition et Par

J'ai une table avec les données chargées comme suit:

create table xyzlogTable (dateC string , hours string, minutes string, seconds string, TimeTaken string, Method string, UriQuery string, ProtocolStatus string) row format serde 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe' with serdeproperties( "input.regex" = "(\\S+)\\t(\\d+):(\\d+):(\\d+)\\t(\\S+)\\t(\\S+)\\t(\\S+)\\t(\\S+)", "output.format.string" = "%1$s %2$s %3$s %4$s %5$s %6$s %7$s %8$s") stored as textfile;

load data local inpath '/home/hadoop/hive/xyxlogData/' into table xyxlogTable;

total nombre de lignes est trouvé à plus de 3 millions de dollars. certaines requêtes fonctionnent bien et d'autres s'en boucle infinie.

après avoir vu que sélectionner, groupe par requêtes prendre longtemps, et parfois même pas de renvoyer des résultats, a décidé d'aller pour le partitionnement.

Mais les deux affirmations suivantes sont défaillants:

create table xyzlogTable (datenonQuery string , hours string, minutes string, seconds string, TimeTaken string, Method string, UriQuery string, ProtocolStatus string) partitioned by (dateC string); 

A ÉCHOUÉ: Erreur dans les métadonnées: AlreadyExistsException(message:la Table xyzlogTable existe déjà)
A ÉCHOUÉ: Erreur d'Exécution, le code de retour 1 de org.apache.hadoop.de la ruche.ql.exec.DDLTask

Alter table xyzlogTable (datenonQuery string , hours string, minutes string, seconds string, TimeTaken string, Method string, UriQuery string, ProtocolStatus string) partitioned by (dateC string);

A ÉCHOUÉ: Erreur d'analyse: ligne 1:12 ne peut pas reconnaître d'entrée 'xyzlogTable' dans l'instruction alter table

Aucune idée de quel est le problème!!!!

OriginalL'auteur Srinivas | 2012-12-10