学堂 学堂 学堂公众号手机端

dbt-tidb 1.2.0 尝鲜

lewis 5年前 (2020-01-24) 阅读数 11 #技术

作者: 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,可供参考。



Setup安装 dbt-tidb v1.2.0
$ 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:                        # 工程名称
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 密码
修改 jaffle_shop 中的 dbt_project.yml,只需修改 profile 为​​profiles.yml​​ 中定义的工程名
profile: 'jaffle_shop_tidb'
在 jaffle_shop 目录下执行dbt debug 即可验证配置是否正确
dbt debug



Feature



Connection Retry

在 dbt 中,运行/构建/测试可能会有数百个独立的数据库连接。由于网络等原因导致的单个超时有可能使整个项目运行失败。

因此 dbt-tidb 新增了重试功能来解决暂时性的连接超时问题。

Connection Retry 举例

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门