Я пытаюсь изменить существующий улей внешней таблицы разделитель из запятой ,
для ctrl+A
характера с помощью Hive ALTER TABLE заявленияHive изменяющих свойств serde не работает
ALTER TABLE table_name SET SERDEPROPERTIES ('field.delim' = '\u0001');
После DDL я мог видеть изменения
show create table table_name
Но когда я выбираю из Hive, значения все NULL (базовые файлы в HDFS изменены, чтобы иметь ctrl + A-разделитель).
Я также отремонтировал таблицу, используя msck.
Единственный способ увидеть данные - сбросить и воссоздать внешний стол, может ли кто-нибудь помочь мне понять причину.
Таблица Синтаксис:
CREATE EXTERNAL TABLE `table_name`( col1, col2, col3) PARTITIONED BY ( `ing_year` int, `ing_month` int, `ing_day` int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 'hdfs://location/'
Что вы подразумеваете под «Но когда я выбираю из ** HDFS ** значения, все NULL»? Разве вы не имеете в виду «Улей» или «Импала»? – cheseaux
В HIVE таблица Alter меняет разделитель, но не может правильно выбрать значения. он возвращает null. –
Это также помогло бы увидеть утверждение, которое вы использовали для создания таблицы. – cheseaux