EC2部署dbt Athena适配器时遇RuntimeException导入错误
问题分析
这个报错的核心原因是dbt-athena-adapter版本与dbt Core 1.5.1不兼容:旧版本的adapter仍尝试从dbt.exceptions导入RuntimeException,但该异常类在dbt Core 1.5+版本中已被重命名为DbtRuntimeError,直接导致导入失败。
解决方案
1. 卸载不兼容的adapter
先移除当前安装的适配包:
conda remove dbt-athena-adapter
2. 安装适配dbt Core 1.5.x的adapter版本
使用pip安装与dbt Core 1.5.x严格匹配的adapter版本(建议指定明确版本号,确保兼容性):
pip install dbt-athena-adapter==1.5.0
注:可根据dbt-athena-adapter的版本说明,选择对应dbt Core 1.5的最新稳定版本。
3. 验证安装并重新初始化项目
- 检查版本匹配情况:
dbt --version
确认输出中同时显示dbt Core 1.5.x和对应版本的athena adapter。
- 重新执行项目初始化:
dbt init gapminder
额外提示
如果后续遇到AWS权限问题,需确保EC2实例的IAM角色(或aws_profile_name对应的本地配置)拥有访问Athena、目标S3存储桶的必要权限,比如AmazonAthenaFullAccess、S3ReadOnlyAccess(或更精细的自定义权限策略)。
内容的提问来源于stack exchange,提问作者Alexis
相关产品推荐
相关产品推荐

