Hive is not a Parquet file. expected magic number at tail [80, 65, 82, 49] but found [48,46, 48,10]
背景
当从业务库拉取数据到Hive后,执行select * from {table} 时报如下错误:
hive is not a Parquet file. expected magic number at tail [80, 65, 82, 49] but found [48,46, 48,10]
原因
Hive存储形式:textfile、sequencefile、Parquet
业务库是 textfile 格式,大数据在建表时指定为Parquet格式,所以数据拉取过来会出现错误。
解决
在建表时明确定义存储形式
create table test.test1
(
user_id string COMMENT '用户id'
)
comment '测试'
partitioned by (d string)
stored as textfile
location '/opt/user/hive/warehouse/test/test1'
;
单纯个人记录和分享, 希望得到支持和鼓励。
如果对您有帮助,可以点赞评论鼓励一下!
如果有更优的的建议或方法,可以在评论区留下见解!