Spark SQL 作业卡在驱动程序的收集阶段

以下是日志中的最后一条消息。我使用的是 spark 版本 3.1.2

INFO BlockManagerInfo: Removed broadcast_2**_piece0 on *****:32789 in memory

我在一个大表的单列中有 5 亿个字符串,我们称之为 big_table,big_table 以镶木地板格式存储。

当我执行 select * from big_table 时,根据日志,查询完成得更快(我假设是这样)。

但是cpu使用率是100%并且长时间保持在100%。我怀疑由于有很多重复的字符串(有 770 万个唯一字符串),我们必须将 770 万个字符串反序列化和解压缩为 5 亿个字符串。我假设这会导致在下图中观察到的内存和 CPU 使用率过高。

我正在通过 Spark Thrift Server 提交 SQL 查询以触发。下图是spark master htop view的图片,而job大概是卡住了(可能卡住不是正确的词)。

Spark SQL 作业卡在驱动程序的收集阶段

coalawang 回答:Spark SQL 作业卡在驱动程序的收集阶段

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/12626.html

大家都在问