Hive: Tabelle und Partition erstellen von

Ich habe eine Tabelle mit geladenen Daten wie folgt:

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;

Die Gesamtanzahl der Zeilen beträgt mehr als 3 Millionen. Einige Abfragen funktionieren einwandfrei und andere geraten in eine Endlosschleife.

nachdem ich das gesehen habeauswählen, gruppieren nach Abfragen, die viel Zeit in Anspruch nehmen und manchmal nicht einmal Ergebnisse liefern, entschieden sich für die Partitionierung.

Die beiden folgenden Anweisungen schlagen jedoch fehl:

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

FEHLGESCHLAGEN: Fehler in den Metadaten: AlreadyExistsException (Meldung: Tabelle xyzlogTable existiert bereits) FEHLGESCHLAGEN: Ausführungsfehler, Rückkehrcode 1 von org.apache.hadoop.hive.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);

FAILED: Parse Error: Zeile 1:12 kann die Eingabe 'xyzlogTable' in der Anweisung alter table nicht erkennen

Irgendeine Idee, was das Problem ist!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage