【案例分享】hive orc表增加字段之后,hetu查询报错

举报
一天之内 发表于 2021/08/28 17:08:49 2021/08/28
【摘要】 hive orc表增加字段之后,hetu查询报错

问题现象:

某集群hive表新增字段,然后插入数据。使用hive查询正常,但是使用hetu查询报错。报错堆栈如下:
Caused by: io.prestosql.spi.PrestoException: Error opening Hive split hdfs://hacluster/user/xxx/hive/xx/xxx/sysp_year=2021/sysp_month=07/sysp_day=16/part-00000-83acb0c2-e980-4e78-87d4-b6aacc70ce68.c000.snappy.orc (offset=0, length=67017): Malformed ORC file. Can not read SQL type timestamp from ORC stream .tag

问题原因:

hive默认支持按orc文件里面的schema顺序去读取字段,而hetu默认是顺序读取orc文件的字段,所以导致新增字段之后,读取的字段类型不匹配,而导致报错。

参考链接:https://stackoverflow.com/questions/59647638/presto-query-error-on-hive-orc-can-not-read-sql-type-real-from-orc-stream-of-ty

解决方法:

hetu有参数hive.orc.use-column-names = true 来控制是否按orc文件的schema顺序来读取字段。需要添加到hive数据源的hive.propreties文件,即console数据源的自定义参数配置。
如果是本地hive,则需要在hsboker的自定义参数。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。