运行Glue Job时触发InvocationTargetException问题排查求助
可能的报错原因及解决方向
Glue环境禁止手动创建SparkSession
AWS Glue Job会自动初始化好SparkContext和SparkSession实例,无需手动调用SparkSession.builder.getOrCreate()。手动创建会与Glue托管的Spark环境冲突,触发Java层调用异常,直接使用Glue提供的spark变量即可。Delta版本与Glue Spark版本不兼容
你指定的io.delta:delta-core_2.11:0.5.0基于Scala 2.11、Spark 2.4.x,需匹配当前Glue Job的Spark版本:- Glue 2.x(Spark 2.4.3):建议使用
delta-core_2.11:0.7.0及兼容版本 - Glue 3.x(Spark 3.1.1):建议使用
delta-core_2.12:1.0.0及兼容版本
- Glue 2.x(Spark 2.4.3):建议使用
Jar包配置方式错误
Glue Job中不能通过代码里的spark.jars.packages配置依赖,需通过Job参数配置:- 在控制台"Job parameters"中添加
--dependencies,值为S3存储的Delta jar包路径 - 或使用
--additional-python-modules指定delta-spark==对应版本,同时保证Scala版本匹配
- 在控制台"Job parameters"中添加
Delta Catalog配置不适用于Glue环境
spark.sql.catalog.spark_catalog配置的Delta Catalog与Glue默认Catalog服务冲突,移除该配置项即可避免异常。
内容的提问来源于stack exchange,提问作者Erdal
相关产品推荐
相关产品推荐

