dbt-tidb 1.2.0 尝鲜
作者: shiyuhang0
本文假设你对 dbt 有一定了解。如果是第一次接触 dbt,建议先阅读 官方文档 或 当 TiDB 遇见 dbt
本文中的示例基于官方维护的 jaffle_shop 项目。关于此项目的细节介绍,可以参考当 TiDB 遇见 dbt 或 github project page,本文不再赘述
TiDB Cloud 官方在5月份开始正式面向全球用户提供全托管的 DBaaS (Database-as-a-Service)服务,支持用户在全托管的数据库上运行关键业务交易和实时分析任务。
同时 TiDB Cloud 还提供了免费试用的 dev tier,可以方便开发者试用、调试。搭配 dev tier,dbt-tidb 易用性大大提高。
恰逢 dbt-tidb v1.2.0 发布,除了支持 dbt-core v1.2.0 之外,它还带来了一些好用的新特性。借此机会,本文将体验 dev tier 并测试 dbt-tidb v1.2.0 的新特性。
对于开发者们,本文还介绍了如何升级 dbt-tidb,可供参考。
$ pip install dbt-tidb=1.2.0在TiDB Cloud 上创建免费的 dev tier,如遇问题可以参考 官方文档。注册并登录账号,页面会跳转到 TiDB Cloud 控制台。点击 Create Cluster,跳转到创建页面,创建参数一般默认即可。点击右下角 Create,跳转到 Security Settings,配置 Root Password 与 IP Access List。(点选 Allow Access from Anywhere 可以允许任意 IP 地址的访问)点击右下角 Apply,页面跳转回 TiDB Cloud 控制台,等待集群初始化完成。初始化完毕后点击 Connect 按钮,即可查看相应 host 与 user 了。可以直接复制 MySQL 连接串以测试集群连通性。下载jaffle_shop 项目
git clone https://github.com/dbt-labs/jaffle_shop在
~/.dbt
路径下配置profiles.yml
中的连接信息jaffle_shop_tidb: # 工程名称修改 jaffle_shop 中的 dbt_project.yml,只需修改 profile 为
target: dev
outputs:
dev:
type: tidb # 适配器类型
server: gateway01.ap-southeast-1.prod.aws.tidbcloud.com # 修改为你的 TiDB 地址
port: 4000 # 修改为你的 TiDB 端口号
schema: test # 数据库名称
username: 41y7Jq2g5sBr2ia.root # 修改为你的 TiDB 用户名
password: ${fake_password} # 修改为你的 TiDB 密码
profiles.yml
中定义的工程名profile: 'jaffle_shop_tidb'在 jaffle_shop 目录下执行dbt debug 即可验证配置是否正确
dbt debug
在 dbt 中,运行/构建/测试可能会有数百个独立的数据库连接。由于网络等原因导致的单个超时有可能使整个项目运行失败。
因此 dbt-tidb 新增了重试功能来解决暂时性的连接超时问题。
Connection Retry 举例
版权声明
本文仅代表作者观点,不代表博信信息网立场。