当前位置: 首页 > article >正文

如何通过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

NameValue
spark.pluginsorg.apache.gluten.GlutenPlugin
spark.shuffle.managerorg.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

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...)

   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已成功集成。反之,需根据缺失的证据逐步排查配置或依赖问题。

原文地址:https://blog.csdn.net/zpf_940810653842/article/details/146360006
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/594017.html

相关文章:

  • PCB画图软件PROTEL99SE学习-05画出铜箔来
  • 成都高精尖生态办公:国际数字影像产业园​
  • 巧用 VSCode 开启 Vue 开发之旅
  • 力扣热题100(方便自己复习,自用)
  • 虚拟机添加多块网卡,重启时,ip绑定错误如何解决
  • 分享一个精灵图生成和拆分的实现
  • 高通 Android12 隐藏通话音量设置项
  • 【秣厉科技】LabVIEW工具包——OpenCV 教程(11):人脸检测与识别
  • 【Cocos TypeScript 零基础 22.1】
  • 云原生安全基座:零信任架构的原子化防御革命
  • 使用uniapp的vite版本进行微信小程序开发,在项目中使用mqtt连接、订阅、发布信息
  • C#入门学习记录(三)C#中的隐式和显示转换
  • html5-Canvas弹跳小球项目开发总结
  • Next.js 如何成功解决了React的致命缺陷?
  • ngx_http_conf_ctx_t
  • 【SpringCloud】微服务的治理以及服务间的远程调用
  • 网络工程学习笔记
  • idea问题(三)pom文件显示删除线
  • 深度学习之语义分割
  • 【算法day16】电话号码的字母组合