浅谈DBT的一些不足之处

        DBT的好处是显而易见的,它支持连接多达41种数据库。而且不需要你写DDL语句,只要写select语句,DBT会自动帮你推断schema结构,将数据写入到数据库中:

浅谈DBT的一些不足之处_第1张图片

浅谈DBT的一些不足之处_第2张图片

但是使用了一段时间之后,发现DBT也存在着如下这些不足之处:

1. Hive分区表支持度不够好

        这个其实很dbt生成sql的方式有关。dbt讲数据写入到数据库的时候,是使用create table as *** 的语句写入到数据库的,对应到Hive的话,会生成如下sql语句:

create  table testdb.my_first_dbt_model partitioned by (city)
as
with mysource as (
     select 1 as id, "name" as name, "city_a" as city
)
select * from mysource

        Hive4.x 才会支持这种语法:https://issues.apache.org/jira/browse/HIVE-20241,当前主流的Hive版本都是1.x 和 2.x,3.x都很少见到,哭死...

2. Greenplum对应的dbt插件要求要GP版本至少是6.0版本以上

3. 不支持同时连接多个数据库

4. cross-database 宏还是少了点,基础的字符串拼接是有的,json解析相关的就没有了...

anyway,还是希望DBT发展的越来越好吧,hhh

你可能感兴趣的:(DBT,数据库)