Wie ändern wir den Datentyp mehrerer Spalten in Hive?alter hive multiple column
CREATE TABLE test_change (a int, b int, c int);
ALTER TABLE test_change CHANGE a a string b b doube c c decimal(11,2);
Wie ändern wir den Datentyp mehrerer Spalten in Hive?alter hive multiple column
CREATE TABLE test_change (a int, b int, c int);
ALTER TABLE test_change CHANGE a a string b b doube c c decimal(11,2);
Soweit ich weiß, können Sie nicht. In der Hive-Dokumentation können Sie die folgenden finden:
ALTER TABLE table_name [PARTITION partition_spec] CHANGE [COLUMN] col_old_name col_new_name column_type [KOMMENTAR col_comment] [FIRST | NACH column_name] [CASCADE | RESTRICT];
Mit diesem Befehl können Benutzer den Namen, Datentyp, Kommentar oder die Position einer Spalte oder eine beliebige Kombination davon ändern. Die PARTITION-Klausel ist in Hive 0.14.0 und höher verfügbar. Weitere Informationen finden Sie unter Aktualisieren von Pre-Hive 0.13.0 Dezimalspalten für die Verwendung. Ein Patch für Hive 0.13 ist ebenfalls verfügbar (siehe HIVE-7971).
Die Dokumentation spricht von "einer Spalte". Die Alternative wäre, mehrere Abfragen zu schreiben, eine für jeden Datentyp, den Sie ändern müssen.
Referenz: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL