如何通过spark history页面查看gluten是否集成成功

要通过Spark History页面确认Gluten是否集成成功,请按照以下步骤操作:

1. 检查Spark页面

1. 检查Spark配置

进入Environment标签页

◦ 在Spark History页面中,选择目标应用程序,进入Environment 标签。

◦ 查找以下配置项:

spark.plugins :确认其值包含Gluten插件类,如org.apache.gluten.GlutenPlugin

spark.sql.queryExecutionListeners (可选):如果配置了查询监听器,可能包含Gluten相关类。

spark.shuffle.manager :Gluten可能要求设置为org.apache.spark.shuffle.sort.ColumnarShuffleManager

◦ 示例正确配置:
spark.plugins=org.apache.gluten.GlutenPlugin spark.shuffle.manager=org.apache.spark.shuffle.sort.ColumnarShuffleManager

Name Value
spark.plugins org.apache.gluten.GlutenPlugin
spark.shuffle.manager org.apache.spark.shuffle.sort.ColumnarShuffleManager

2. 查看应用程序日志

在日志中搜索Gluten关键字

◦ 在Spark History页面的Logs 部分,查找以下内容:

初始化成功日志 :如Gluten plugin initializedGluten enabled

警告或错误 :如ClassNotFoundException(可能表示依赖缺失)或Gluten fallback to Vanilla Spark(部分操作未使用Gluten)。

◦ 示例成功日志:
INFO GlutenPlugin: Gluten plugin initialized, using backend: velox

log 复制代码
xx/xx/xx 09:17:31 INFO JniLibLoader: Trying to load library libgluten.so
xx/xx/xx 09:17:31 INFO JniLibLoader: Successfully loaded library libgluten.so
xx/xx/xx 09:17:32 INFO JniLibLoader: Trying to load library libvelox.so
xx/xx/xx 09:17:32 INFO JniLibLoader: Successfully loaded library libvelox.so
xx/xx/xx 09:17:32 INFO ExecutorPluginContainer: Initialized executor component for plugin org.apache.gluten.GlutenPlugin.

3. 检查Metrics指标

进入Metrics标签页

◦ 查找Gluten特有的指标,例如:

gluten_velox_tasks :表示由Velox引擎处理的任务数。

gluten_fallback_count :回退到Vanilla Spark的次数(值高可能表示兼容性问题)。

◦ 如果这些指标存在且gluten_velox_tasks大于0,说明Gluten已生效。

4. 分析SQL执行计划

查看SQL查询的物理计划

◦ 在SQL 标签页中,点击具体查询,查看其Physical Plan

◦ 确认是否存在Gluten相关的操作符,例如:

GlutenScan :表示数据扫描由Gluten处理。

VeloxOperator :使用Velox引擎执行的操作(如Filter、Projection)。

◦ 示例计划片段:
+- GlutenScan [id#1, name#2] (Gluten VeloxScan...)

log 复制代码
   VeloxColumnarToRowExec (11)
               +- VeloxAppendBatches (4)

(4) VeloxAppendBatches
(11) VeloxColumnarToRowExec

5. 验证任务执行详情

进入Stages/Tasks详情

◦ 在任务级别指标中,查看是否有关联Gluten的输入/输出格式(如ColumnarToRow转换减少,可能表示Gluten直接处理列式数据)。

常见问题排查

配置未生效 :确保spark.plugins配置正确且无拼写错误,Gluten的JAR包已正确部署到Spark的jars目录。

依赖冲突 :检查日志中是否有NoClassDefFoundError,可能是版本不兼容或依赖缺失。

部分回退 :若gluten_fallback_count较高,需确认查询是否包含Gluten尚未支持的操作(如某些UDF或复杂数据类型)。

结论

如果在配置、日志、Metrics或执行计划中均发现Gluten相关的有效信息(如插件加载成功、Velox任务计数为正),则表明Gluten已成功集成。反之,需根据缺失的证据逐步排查配置或依赖问题。

相关推荐
随缘而动,随遇而安12 小时前
第九十八篇 工程落地视角:Session/Cookie/Token 原理辨析与大数据实战
大数据·spark·token·cookie·session
霑潇雨2 天前
Spark学习基础转换算子案例(单词计数(WordCount))
java·大数据·分布式·学习·spark·maven
zhojiew2 天前
使用 Spark Connect 在 Amazon EMR on EC2 上实现远程 Spark开发
大数据·分布式·spark
大江东去浪淘尽千古风流人物2 天前
【Kimera】MIT SPARK 实时度量-语义 SLAM 全栈解析:VIO + 鲁棒 PGO + 语义网格四模块架构与 EuRoC 实测深度剖析
大数据·架构·spark
大江东去浪淘尽千古风流人物2 天前
【Kimera-VIO】MIT SPARK 实时度量-语义 VIO/SLAM:六模块并行架构与智能因子图优化深度解析
大数据·架构·spark
大江东去浪淘尽千古风流人物2 天前
【Kimera-Semantics】实时三维语义重建深度解析:Fast/Merged 双路积分、对数概率体素 Bayesian 融合与 ROS 全链路实现
大数据·架构·spark
陆水A4 天前
运输时效预测模型:静态路由时效的计算与验证
大数据·人工智能·算法·spark·数据库开发·etl工程师
SeaTunnel4 天前
Apache SeaTunnel 4 月有何新动作?连接器增强与 Zeta 稳定性提升等亮点速览
大数据·数据仓库·spark·apache·seatunnel
淡定一生23334 天前
spark 3.3+ 之BloomFilter Runtime Filter
大数据·分布式·spark