1. 程式人生 > >hive列操作(更改型別、移動位置)所遇到的問題

hive列操作(更改型別、移動位置)所遇到的問題

問題描述:

FAILED: Execution Error, return code 1 fromorg.apache.hadoop.hive.ql.exec.DDLTask. Unable to alter table. The followingcolumns have types incompatible with the existing columns in their respectivepositions :

Responsetime

問題原因:

在hive中執行ALTER列操作時遇到這個問題,試驗後發現是因為hive中資料型別強制轉換的問題。猜測和hive內部儲存表屬性的設定相關,只能按照強制轉換滿足的規則去改變(比如string改int可以,反過來就不行)。另外如果使用ALTER更改列位置也必須滿足上面規則,其實感覺移動位置內部還是一個重新命名的操作吧,所以更改列位置還是不太靠得住的。