最近业务这边有需求,需要创建动态分区表,而且是使用中文机构字段做分区,但是在增加分区的时候会报错,具体报错信息如下:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Exception thrown when executing query)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
<p>通过尝试,自己解决了这个问题。</p>
关于mysql网上的很多的修改编码的方式都不可靠,并不能保证所有表的所有字段的编码都改正过来。
这个中文字段的分区之所以不能建,在日志中提示的很明确就是hive meta store exception,所以就去找hive元数据的问题,经过排查发现,partitions表的par_name字段还是lanten1的编码,将其修改文utf8的编码以后,就可以创建中文分区了。至于怎么修改,自己网上百度吧。