浅谈DBT的一些不足之处

news/2024/7/5 3:18:29

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

但是使用了一段时间之后,发现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


http://lihuaxi.xjx100.cn/news/1559439.html

相关文章

go 语言 负载均衡 为反向代理添加负载均衡 拓展ReverseProxy

随机负载 package randomimport ("errors""math/rand" )type RandomBalance struct {//当前索引curIndex int//存储负载均衡的地址rss []string//观察主体//conf LoadBalanceConf }func (r *RandomBalance) Add(params ...string) error {if len(params) …

408-2012

一、单项选择题&#xff08;2分/题&#xff09; 1.求整数 n&#xff08;n>0&#xff09;阶乘的算法如下其时间复杂度是______。 int fact(int n){if(n<1){return 1;}return n*fact(n-1); } A.O() B.O(n) C.O() D.O(n^2) 解答&#xff1a;B 2.已知操…

计算机视觉与深度学习 | 视觉里程计理论

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 视觉里程计理论基础 1 、立体视觉中的三维测量及几何约束2 、立体视觉匹…

(WRF/Chem)在大气环境领域实践技术应用

随着我国经济快速发展&#xff0c;我国面临着日益严重的大气污染问题。近年来&#xff0c;严重的大气污染问题已经明显影响国计民生&#xff0c;引起政府、学界和人们越来越多的关注。大气污染是工农业生产、生活、交通、城市化等方面人为活动的综合结果&#xff0c;同时气象因…

Java笔记二

学习资源来自哔哩哔哩——遇见狂神说——狂神说Java 目录 数据类型&#xff1a; 字符 字符串 布尔值 强制转换&#xff1a; 变量 常量&#xff1a; 运算符&#xff1a; 数据类型&#xff1a; long定义的必须在数字后面L float定义的要在数字后面加F 如 long num130…

牛客: BM17 二分查找-I

牛客: BM17 二分查找-I 文章目录 牛客: BM17 二分查找-I题目描述题解思路题解代码 题目描述 题解思路 一个左端点, 一个右端点, 循环直到左右端点交叉, 取左右端点的中点 若中点的值大于目标值, 意味着目标值只可能在中点的左边, 所以右端点变为中点的前一个位置 若中点的值…

leetcode 94.二叉树的中序遍历(非递归和递归遍历)

94. 二叉树的中序遍历 - 力扣&#xff08;LeetCode&#xff09; 代码随想录 (programmercarl.com) /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), righ…

974. 和可被 K 整除的子数组

974. 和可被 K 整除的子数组 C代码&#xff1a;哈希表前缀和 typedef struct{int val;int cnt;UT_hash_handle hh; } HashTable;int subarraysDivByK(int* nums, int numsSize, int k){HashTable* head NULL;HashTable* out NULL;int sum 0;int cnt 0;out (HashTable*)ma…