You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Glue Job连接Denodo报错:getResourceAsStream文件获取失败

AWS Glue连接Denodo报错排查:Error getting file with getResourceAsStream

我正尝试创建新的AWS Glue Job,用于连接Denodo并拉取数据。已遵循Denodo官方的《How to connect to Denodo from AWS Glue》指南,但仍出现以下报错:

2023-03-30 07:09:49,542 INFO [Thread-9] glue.AnalyzerLogHelper$ (Logging.scala:logInfo(24)): 2023-03-30 07:09:49,538 ERROR [pool-2-thread-1] utils.FileUtils (FileUtils.java:readCsvFile(29)) - Error getting file with getResourceAsStream

我的连接代码如下:

db_username = "uname"
db_password =  "pword"
db_url = "jdbc:vdb://dvprod.company.net:9999/company_global_data"
table_name = "tablename"
jdbc_driver_name = "com.denodo.vdp.jdbc.Driver"
s3_output = "s3://cp-aws-ss-prod-data/extracts/"

# Connecting to the source
df = glueContext.read.format("jdbc")\
.option("driver", jdbc_driver_name)\
.option("url", db_url)\
.option("dbtable", table_name)\
.option("user", db_username)\
.option("password", db_password)\
.load()

df.printSchema()
print(df.count())

报错发生在连接数据源阶段,Denodo驱动已上传至S3对应目录并在Job的依赖JAR路径中声明,请问我遗漏了什么?


排查方向

  • 校验JAR包路径与权限:确认Glue Job中填写的依赖JAR的S3路径完全准确,无拼写错误。同时检查Glue服务角色是否拥有该S3路径的s3:GetObject权限,权限不足会导致无法读取JAR内部资源。
  • 驱动版本兼容性检查:Denodo JDBC驱动版本必须和Denodo平台版本匹配,同时要适配你使用的AWS Glue对应的Spark版本。部分旧版本驱动在Glue环境中无法正常加载内部资源,建议更换为Denodo官方推荐的适配Glue的驱动版本。
  • JDBC URL格式验证:确认jdbc:vdb://格式是否正确,部分Denodo版本需要添加额外参数(如useSSL、sslMode),或者URL中是否需要补充数据库实例的额外标识。可以先在本地用相同的URL、账号密码测试连接,排除URL本身的问题。
  • Glue作业参数配置检查:确认作业参数中是否正确设置了--extra-jars或--jars指向Denodo驱动的S3路径,多JAR包用逗号分隔。部分场景下需要额外设置--driver-class-path参数明确驱动类路径。
  • 驱动JAR包完整性校验:重新上传Denodo驱动JAR到S3,用MD5哈希值对比本地和S3上的文件,确保上传过程中没有损坏。损坏的JAR包会导致无法读取内部资源,触发getResourceAsStream错误。

内容的提问来源于stack exchange,提问作者rann

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 09:37:21