【案例分享】hive orc表增加字段之后,hetu查询报错
【摘要】 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文件的字段,所以导致新增字段之后,读取的字段类型不匹配,而导致报错。
解决方法:
hetu有参数hive.orc.use-column-names = true 来控制是否按orc文件的schema顺序来读取字段。需要添加到hive数据源的hive.propreties文件,即console数据源的自定义参数配置。
如果是本地hive,则需要在hsboker的自定义参数。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)