-
首先,odps目前不支持修改已有表的列字段数据类型
-
其次,办法总是有的,以下就是我的方法
1. 在ODPS上建立一个与原表一致的新表tb_tmp ,注意新表要用修改后的字段类型
pass
2. 在ODPS上调用动态分区语句,将原分区表tb的值写入到新表tb_tmp
INSERT OVERWRITE TABLE tb_tmp PARTITION (partcol1 ...) select col1,col2,partcol1... FROM tb;
3.检查下原表和新表数据量与分区是否一致
pass
4.删除原表tb
1 DROP TABLE tb
5.重命名新表tb_tmp为tb
1 ALTER TABLE tb_tmp RENAME TO tb
参考资料:https://help.aliyun.com/document_detail/73779.html?spm=a2c4g.11186623.6.690.645b65d5T9daDG