配置DBT连接DLI进行数据调度和分析
DBT(Data Build Tool),是一款开源的数据建模和转换工具,运行在Python环境上。DBT连接DLI,用来定义和执行SQL转换,支持从数据集成、转换到分析的整个数据生命周期管理,适用于大规模数据分析项目和复杂的数据分析场景。
本节操作介绍DBT连接DLI的操作步骤。
操作前准备
- 环境要求
确保您的系统环境满足以下要求。
- 获取dli-dbt驱动包:
在“DLI SDK DOWNLOAD”页面,单击驱动包链接,下载对应版本的驱动包。
- 连接信息:
类别
说明
获取方式
DLI AKSK
AK/SK认证就是使用AK/SK对请求进行签名,从而通过身份认证。
DLI Endpoint地址
地区与终端节点,即云服务在不同Region有不同的访问域名。
DLI所在的项目ID
项目编号,用于资源隔离。
DLI区域信息
DLI所属区域信息
步骤1:部署DBT环境
- 安装dbt-core
使用pip安装建议版本的dbt-core:
pip install dbt-core==1.7.9
pip是Python的包管理工具,通常与Python一起安装。
如果尚未安装pip,可以通过Python内置的ensurepip模块安装:
python -m ensurepip
- 安装dli-sdk-python
执行安装命令:
python setup.py install
- 安装dli-dbt
从DLI管理控制台下载dli-dbt驱动。
执行安装命令:
python setup.py install
安装完成后,可以通过运行以下命令来验证dbt是否正确安装:
dbt --version
步骤2:配置DBT连接DLI
配置profiles.yml文件用于保存DBT与DLI的连接信息。
在安装DBT的服务器的主目录下找到 .dbt 目录,创建或编辑 profiles.yml 文件。
例如,在Windows系统中,路径可能是 C:\Users\用户名\.dbt\profiles.yml。
配置文件内容应包含DBT与DLI的连接配置,例如:
profiles: - name: dbt_dli target: dev outputs: dev: type: dli region: your-region-name project_id: your-project_id access_id:your-ak secret_key:your-sk queue:your-queue-name database: your-dli-database schema: your-dli-schema
参数 |
是否必选 |
说明 |
配置样例 |
---|---|---|---|
type |
是 |
数据源类型,本例配置为dli。 |
dli |
region |
是 |
DLI的区域名称和服务名称。 |
ap-southeast-2 |
project_id |
是 |
DLI资源所在的项目ID。 |
0b33ea2a7e0010802fe4c009bb05076d |
access_id和secret_key |
是 |
AK/SK认证密钥。 |
- |
queue |
是 |
DLI服务的队列名称。 |
dli_test |
database |
是 |
数据目录名称。默认使用dli数据目录。 如果使用Lakeformation元数据,填写具体的数据目录名称。 |
dli |
schema |
是 |
提交作业使用的DLI的数据库名称。 |
tpch |
步骤3:测试使用DBT提交作业至DLI
- 初始化DBT项目
在空目录下执行以下命令以初始化DBT项目:
dbt init
- 配置dbt_project.yml文件
在项目根目录下创建或编辑 dbt_project.yml文件。
参考dbt_project.yml配置项目。
确保步骤2:配置DBT连接DLIprofile文件中已设置该项目的profiles.yml中定义的数据源名称。
图1 profile文件
图2 dbt_project.yml文件中配置的profile
- 验证配置
执行以下命令测试DBT配置是否正确:
dbt debug
- 执行项目作业
测试通过后执行以下命令来执行您的数据模型。
dbt run