2016-12-01 114 views
1

試圖將列添加到HIVE中的外部表,但是獲取下面的錯誤。該表目前已註冊了一千個分區,我希望避免重新創建表格,然後運行需要很長時間才能完成的MSCK REPAIR。此外,該表使用OpenCSVSerde格式。如何添加一列將列添加到Hive外部表錯誤

hive> ALTER TABLE schema.Table123 ADD COLUMNS (Column1000 STRING); 

    FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Unable to alter table. java.lang.IllegalArgumentException: Error: type expected at the position 0 of '<derived from deserializer>' but '<' is found. 
+0

蜂巢改變語句不支持SCHEMA_NAME.TABLE_NAME。 @Rijul提到你分別使用它們。 –

+0

不起作用,仍然得到相同的錯誤。不確定這是否與OpenCSVSerde有關? – user3250672

回答

-1

試試這個:

Use your_database_name; 

則:

ALTER TABLE Table123 ADD COLUMNS (Column1000 STRING); 
+0

爲什麼這和我的例子有什麼不同? – user3250672

+0

您被給出了錯誤的語法:檢查此https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-Add%2FReplaceColumns –

+0

語法正確 –