目前,我在 Prod 中有一个分区 ORC“托管”(错误地创建为内部优先)Hive 表,其中包含按年、月、日(~16GB 数据)分区的至少 100 天的数据。
这张表大约有160列。现在我的要求是在这张表的中间添加一列,并且仍然能够查询旧数据(分区文件)。如果新添加的列显示旧数据为空就可以了。
到目前为止我做了什么?
1)首先使用下面将表转换为外部以保留数据文件,然后再删除
alter table <table_name> SET TBLPROPERTIES('EXTERNAL'='TRUE');
2)删除并重新创建中间有新列的表,然后更改表以添加分区文件
但是我无法在娱乐之后阅读表格。我收到此错误消息
[Simba][HiveJDBCDriver](500312) Error in fetching data rows: *org.apache.hive.service.cli.HiveSQLException:java.io.IOException: java.io.IOException: ORC does not support type conversion from file type array<string> (87) to reader type int (87):33:32;
还有其他方法可以做到这一点吗?