Hive: создать таблицу и разделить по
У меня есть таблица с загруженными данными следующим образом:
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;
общее количество строк составляет более 3 миллионов. некоторые запросы работают нормально, а некоторые попадают в бесконечный цикл.
увидев этовыбрать, сгруппировать по запросы, занимающие много времени и иногда даже не возвращающие результаты, решили пойти на разбиение.
Но оба следующих утверждения несостоятельны:
create table xyzlogTable (datenonQuery string , hours string, minutes string, seconds string, TimeTaken string, Method string, UriQuery string, ProtocolStatus string) partitioned by (dateC string);
FAILED: ошибка в метаданных: AlreadyExistsException (сообщение: таблица xyzlogTable уже существует). FAILED: ошибка выполнения, код возврата 1 из 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: Ошибка разбора: строка 1:12 не может распознать ввод 'xyzlogTable» в операторе alter table
Любая идея в чем проблема!