应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

现代数据技术栈之数据建模工具dbt

  Dbt介绍
  在现代数据流ELT中,EL和T由不同的工具来完成的,EL一般用Fivetrans和Airbyte这样的数据集成工具来实现,而实现T(datatransform)功能的工具中,最当红的就是dbt。
  Dbt是DataBuildTool的简称,目前由dbtlabs公司负责开发和维护,公司的前身是FishtownAnalytics,公司的创始人在2016年创立的公司,那个时候还是Hadoop和Spark等技术最火热的时期(参考Cloudera公司的估值)。一开始并没有针对于Spark来设计数据建模的工具,而是选择了云数据库Snowflake和Redshift作为目标。
  Dbt的功能迭代很快,社区也运营的很好,用户群体广泛,在发布了dbtcloud的SaaS服务后,公司估值也快速上升,获得了投资人的认可。这种通过开源软件来吸引用户,然后通过SaaS服务来赚钱的业务模式还是非常有竞争力的。Dbt支持的数据仓库
  目前官方支持的数据仓库有Redshift,BigQuery,Snowflake和Spark。
  由数据仓库公司提供支持的有ClickHouse,Databricks,Impala,Oracle,Trino(Presto),Teradata和TiDB(省去了一些国内不常见的)
  由社区提供支持的有SQLServer,Athena,Vertica,Greenplum和DB2。
  可以看到以上数据仓库涵盖了目前开源的和云上的主流的数据仓库,但是对国内云厂商的数据仓库都没有提供支持,希望后续国内云厂商对自家的云数据仓库能够提供支持。Dbt的主要功能
  1提供数据建模的框架
  这是dbt的最核心的功能,dbt通过内置的宏macro把不同数据仓库间的SQL函数差异给抹平了,相当于一套代码可以在多种数据仓库里运行,当然这不算是最大的优点,毕竟数据仓库也不会经常迁移。
  其次dbt将所有建模时需要编写的ddl给简化了,让用户专注于dml操作,只需要编写Select的SQL代码就可以完成数据建模,有些关于字段数据类型的选择也会自动进行检测。Dbt定义了模型物化这个概念,所有的模型都会有一种物化的方式,有以下几种选择:表,增量,视图或者临时表。
  几种物化方式的区别如下:
  表:每次模型的更新都会重建表并更新所有数据。
  视图:模型的逻辑通过视图来封装,不会产生额外存储的消耗。
  增量:每次模型的更新会保留老的数据,把变化过的数据和老的数据进行合并。
  临时表:模型会以临时表的形式存在,每次使用结束后会删除。
  以上几种物化方式的灵活搭配,就可以满足我们对数据刷新效率和数据仓库性能之间做平衡的需求。
  2生成数据目录和数据血缘关系
  在dbt里定义的每一个模型,都会使用宏来做表之间的引用,也就是说SQL里不会写死表的名字,而是使用表的别名,优点就是方便在生产环境和测试环境中用同一套代码来运行。另外,用宏来生成表名,可以方便的生成模型的血缘关系。
  通过dbtcli的docs命令,可以很方便地生成静态的数据目录和血缘关系。省去了另外再维护一套数据目录或者血缘关系系统的麻烦。
  3提供数据测试,保证数据质量
  Dbt可以通过在yml里定义表级别和字段级别的test用例,来保证数据模型的质量。
  常用的测试用例有唯一性校验,枚举值校验,null校验和关系校验。还可以通过自定义macro来扩展新的校验规则。
  4提供数据快照功能
  通过dbtcli的snapshot命令可以很方便的实现缓慢变化维表(SCD)
  5提供数据指标服务(正在开发中)
  先通过yml里定义模型的指标,然后通过metricsserver来代理所有BI工具的SQL查询,实现企业内的数据指标的统一管理。Dbt项目和Airflow集成
  Dbt开源的工具又叫做dbtcore,目前是通过命令行cli来使用的。为了能够定时更新模型,每小时或者每日,需要和调度工具集成在一起使用。调度工具可以选择Airflow,通过第三方的DbtRunOperator或者BashOperator可以在Airflow里调用dbtcli来执行模型构建。
  Airflow集成DBT
  模型可以通过tag来标识哪些模型是需要每日刷新的,哪些模型是需要每小时刷新的。建模规范一般采用阿里的公开标准,分为ods,dwd,dws和ads四个层次来设计模型。Dwd层可以细化为dim和fact两种类型的表。
  dbt项目结构Dbt数据目录和血缘关系
  编写好dbt模型后,可以很方便地生成数据目录文档和血缘关系图。主要是通过dbtdocs这个命令来实现。
  模型数据目录
  血缘关系可以只查看某一个模型的上下游,也可以查看所有模型的关系(全局看,图会比较小)。绿色方框表示是odssource表,蓝色方框表示是dbt的model,紫色方框代表当前选中的模型,橘色方框表示是有一个外部引用紫色的模型是被外部应用所依赖的。
  模型的上下游血缘关系
  项目下的所有模型的血缘关系总结
  Dbt工具很好的解决了中小型团队对数据建模的需求,在易用性,功能性还有可维护性上都提供了很好的支持,在现代数据技术栈中发挥着不可替代的作用。以前专业建模软件大都昂贵和难于上手,即使有类似阿里云Dataphin这样的SaaS产品,但是其只适用于阿里云的数据平台体系,无法用于其他类型的数据仓库。而类似dbt这种支持多种数据仓库的工具,可以更容易融入公司现有的数据架构体系。比如,已经用sparksql或者trino等工具做ETL了,可以再增加一个dbt工具来帮忙实现数据建模、数据目录、血缘关系和数据质量等配套功能。

宝宝取名的四大禁忌想给宝宝起个好听寓意好的名字,以下四点起名禁忌你一定要知道:一、不要用生僻字。要知道名字的最大的功能就是给人叫的,要是因为你用了生僻字,导致别人不敢叫或叫错,那是不是很尴……没转正没医保,球2剧情真实上演,俄参战老兵受重伤却需自负药费前言:今年春节有三大喜事,第一是出现三年的新冠疫情终于在进入2023年之前得到结束,春节时期大家再也不用担心因感染而被封控,第二件喜事是我的家乡在禁止燃放鞭炮之后终于得到……科普关于黄疸日常您一定要知道黄疸的病种分为两类一、生理性黄疸生理性黄疸大都在出生后第23天出现,45天达高峰,以后逐渐减轻,14天内消退。早发性黄疸:出现早,多与出生最初几天吃奶时间短、胎便排……怎样选购电磁炉?使用电磁炉需要注意些什么?头条创作挑战赛电磁炉的适用范围比较广,比如家里燃气维修停气,可以用电磁炉代替热源;想吃火锅,电磁炉正好可以边涮边吃;老房子没有燃气,煤气罐还不安全,可以用电磁炉炒菜、做汤;由于……月亮上有嫦娥和玉兔吗?传说中,嫦娥因偷食后羿自西王母处所求得的不老仙丹而奔月成仙,和玉兔一起生活在月亮上的广寒宫。嫦娥和玉兔月亮上真的住着嫦娥和玉兔吗?首先我们俗称的月亮就是个球体……2022年河南商务成绩单出炉,四大亮点一文全览大河报豫视频记者侯冰玉正月十五团圆日。就在2023年正月十五当天,河南商务系统也以一种不一样的形式进行了一场团圆全省商务工作电视电话会议在郑召开。会上,河南省商务厅党组书……乡村围炉经济,不只是诗意来源:【农民日报】这个冬天,围炉煮茶火爆出圈。这个脱胎于云南乡村的传统民俗,借以新一代更迭的消费需求和使用场景成为现象级消费热点。某短视频平台上,围炉煮茶相关话题播放量达……三明市领导参加三元区2023年一季度重大项目开工活动2月15日,三元区2023年一季度重大项目开工活动在三明经济开发区吉口循环经济产业园举行。市委书记黄如欣出席开工活动。市委常委、秘书长杨国昕宣布项目开工。市领导王立文、廖金辉、……百病皆由痰瘀起,送你两味药,一味化痰一味行瘀,化痰通络百病消中医常说,百病皆由痰瘀起,说的就是我们体内的痰湿和瘀血这两种病理产物,那如何判断自己体内有没有痰和瘀呢?最简单、直接的方法就是伸出我们的舌头,如果舌苔偏白腻,或者是舌头上一层水……读好书五本好书,给你成长的力量生活琐碎、工作忙碌、学业繁重,你有没有那么一瞬间,真的好想怀疑人生?如果你的回答是有或者沉默,千万不要担心或泄气!人生的旅途上,总有一些时刻,会突然开始怀疑自己、怀疑人生……张译零宣传是因与剧组有矛盾?狂飙官博和众演员齐回应此文为【高能E蓓子】原创,禁止任何形式的转载,转载请后台联系,但欢迎你们转发到朋友圈。3日,前两天就已经播放大结局的《狂飙》又双叒叕花式上热搜了。原来,《狂飙》官博……债务危机爆发,四年巨亏12亿,股价跌落神坛,股民来圈钱的吧?最近几年上市的公司不少,有一部分上市的公司业绩不错,但是,也有一部分上市没多久以后业绩就开始变脸,这种情况在A股上市公司当中并不少见。有那么一家上市公司,上市的时间也差不……
在越南农村,500块人民币能够享受什么服务?听听越南姑娘咋说在越南农村,旅行花费500元,可以享受哪些特殊的服务呢?听听越南的姑娘怎么说吧!(此处已添加小程序,请到今日头条客户端查看)现如今,我国的经济实力越来越强,国民的收……中国元宇宙刚开始,美国已经玩Web3了我们这边热炒元宇宙的时候,美国那边热议的是Web3。Web3是什么东东?其实,相比元宇宙模糊不清的定义、虚头巴脑的内容,Web3的概念清晰明了,就是第三代互联网。近……面朝蔚蓝的大海,来茂名,开始一场浪漫海边度假之旅浪漫海岸温德姆酒店尊享极致度假体验!夏日,加载中蔚蓝大海、凉爽海风、椰林遍地酒店坐落于茂名迷人的海滩上面朝蔚蓝的大海,拥有旖旎的滨海风光酒店……北京平谷邂逅向日葵花海梯田,超美西峪水库,那抹蓝绿湖水沉醉了在去平谷游玩途中邂逅了一片向日葵梯田花海。爬了很长一段山路,在崇山峻岭的开阔地带,但是又不是那么平坦,而是一层一层梯田一样,种植了很多的向日葵,花的面积很大,娇艳美丽,尤其是近……熬过去,你就赢了人生是一段长长的旅程,从此岸到彼岸,风风雨雨,总希望能够遇到可以帮助我们的摆渡人,也就是大家所说的,生命中的贵人。但摆渡人不常有,可遇而不可求,唯有自渡才是最可靠的出路。……阔腿裤小黑裤过时了!今年流行卡布里裤,5060岁穿更年轻马克吐温说过:人生在世,绝不能事事如愿。反正,遇见了什么失望的事情,你也不必灰心丧气。当女人稳住低迷的心态,就稳住了人生的靶心。在等待的日子里,谦卑做人,养得深根,来日才能枝繁……里程碑事件!!!中芯国际据说已经研制出7nm芯片近些年来,欧美发达国家对中国芯片技术的封锁可谓是史无前例,尤其对10nm以下级的技术更是绝对禁止出售给中国,而这所谓的掐脖子技术到底有多难提高,有的人说至少需要30年,50年,……大人真的很无趣昨天傍晚,和孩子乘凉。点兵点将,骑马打架,不知儿子从哪里学来的这个游戏,反正我是再熟悉不过的了,这可是我们小时候经典游戏之一。看来游戏对小孩是不分年代的。儿子……村里现在像旅游区了!清明谷雨紧相连浸种春耕莫迟延四月莺歌位于孝南区新铺镇百草湖村的圣贤庄园里一畦畦的韭菜、一捧捧生菜青翠欲滴爬犁翻过的黄土地默默等待着新一……令肌肤凝脂般细滑的维生素E令肌肤凝脂般细滑的维生素E古希腊,热辣的太阳下诞生了人类最源远流长的文明之一。在那个时代,人们都纵情英武,通过体育锻炼和辩论来达到自身的进步,被称之为人类文明启蒙的黄金时……海南这10道经典小吃,口味经典,回味无穷,每一样都不可辜负海南省坐落于中国最南端,这里的空气清新,环境优美,景色宜人。同时也受到全国各地游客的青睐,其旅游景点吸引了全国各地的群众前来参观。海南的小吃数不胜数,旅游的兴起带动了美食的发展……太阳系内已确认发现的5,000多个行星,其中1属于恒星截至2022年4月2日,人类确认发现的太阳系外行星数量已正式突破5,000大关!人类早就发现,夜空中数不胜的大多数繁星位置固定在它们之间。前者称为恒星,后者的名称为行星。……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网