首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >火花2.3到星火2.4升级。读取单元分区表时遇到的问题

火花2.3到星火2.4升级。读取单元分区表时遇到的问题
EN

Stack Overflow用户
提问于 2020-02-04 09:51:27
回答 1查看 1.9K关注 0票数 0

我们最近更新了我们的预生产环境,从Spark2.3升级到Spark2.4.0。

长期以来,我们在Hive中创建了大量的表,由两个字段划分,其中一个是字符串,另一个是BigInt。

我们使用Spark2.3阅读此表时没有问题,但在升级到Spark2.4之后,每次运行SW时,我们都会得到以下日志:

log_filterBIGINT.out:

由:MetaException引起(消息:过滤只支持字符串类型的分区键),原因是:MetaException(消息:过滤只支持字符串类型的分区键),原因是:MetaException(消息:过滤仅支持字符串类型的分区键)

hadoop-cmf-hive-HIVEMETASTORE-isblcsmsttc0001.scisb.isban.corp.log.out.1:

2020-01-10 09:36:05,781错误org.apache.hadoop.hive.metastore.RetryingHMSHandler:池-5-线程-138:MetaException(消息:过滤只支持字符串类型的分区键)

2020-01-10 11:19:19,208个错误org.apache.hadoop.hive.metastore.RetryingHMSHandler:池-5-线程-187:MetaException(消息:过滤只支持字符串类型的分区键)

2020-01-10 11:19:54,780错误org.apache.hadoop.hive.metastore.RetryingHMSHandler:池-5-线程-167:MetaException(消息:过滤只支持字符串类型的分区键)

从Spark的角度来看,我们知道最好的做法是对分区列使用'STRING‘类型,但是我们需要探索一个可以轻松部署的解决方案,因为使用bigiint类型的列分区创建了大量的表。

作为第一种解决方案,我们试图在Submmit中将spark.sql.hive.manageFilesourcePartitions参数设置为false,但是在重新运行SW之后,错误停止了。

在这个社区里,有没有人经历过同样的问题?解决这个问题的办法是什么?

EN

回答 1

Stack Overflow用户

发布于 2020-02-04 10:49:41

spark.sql.hive.convertMetastoreOrc上面的Spark属性在2.3中禁用,在2.4中被启用。启用该属性将使Hive表转换为数据源表。我相信在这种情况下,将Hive表转换为Datasource表引起了问题。

我们可以set spark.sql.hive.convertMetastoreOrc=false并运行查询.吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60054700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档