如何解决无法使用选择*命令查看配置单元托管表数据
我创建了一个Hive托管表,并在托管表位置使用hadoop commnad复制数据。 完成此操作后,每当我从表中选择*时,它就不会显示数据。 我也尝试过msck repair命令。
MSCK REPAIR TABLE table_name;
但是我仍然无法使用select commadn查看任何数据,我已经检查了托管表位置文件是否可用,但是使用select命令却无法获取数据。
有人可以指导我为什么我无法使用select命令查看数据。 注意:我的配置单元表在月列上进行了分区。在复制数据之前,我已经启用了以下属性。
hive>设置hive.exec.dynamic.partition = true; hive>设置hive.exec.dynamic.partition.mode = nonstrict;
解决方法
我建议您检查默认文件格式,只需在Hive shell中键入
set hive.default.fileformat;
并查看输出。如果它与复制文件的格式不同,则在创建表时应指出相应的格式,例如
create table tbl as
select * from another table
stored as orc
或者您可以在创建表格之前设置其他格式,例如
set hive.default.fileformat=orc;
请记住,如果您的数据格式为textfile
,则还需要在create语句中指定分隔符。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。