dbt 0.14.0 试用
dbt 0.14.0 在最近已经发布了,dbt server 的还是很不错的特性,以下安装试用下几个新功能
环境准备
安装
如果没有安装的:
pip install dbt
已经安装的:
pip install -U dbt
pg 数据库环境准备
使用docker-compose 运行
- docker-compose 文件
version: "3"
services:
database:
image: postgres
environment:
POSTGRES_USER: "postgres"
POSTGRES_PASSWORD: "dalong"
ports:
- "5432:5432"
database2:
image: postgres
environment:
POSTGRES_USER: "postgres"
POSTGRES_PASSWORD: "dalong"
ports:
- "5433:5432"
rpc
创建简单项目
- dbt init
dbt init 14demo
- 配置profile
profiles.yml 文件
# For more information on how to configure this file, please see:
# https://github.com/fishtown-analytics/dbt/blob/master/sample.profiles.yml
default:
target: dev
outputs:
dev:
type: postgres
host: 127.0.0.1
user: postgres
pass: password
port: 5432
dbname: postgres
schema: dalong
threads: 3
pg:
target: dev
outputs:
dev:
type: postgres
host: 127.0.0.1
user: postgres
pass: dalong
port: 5432
dbname: postgres
schema: public
threads: 3
demo:
target: dev
outputs:
dev:
type: postgres
host: 127.0.0.1
user: postgres
pass: dalong
port: 5432
dbname: postgres
schema: demo
threads: 3
基本使用
- 启动pg
docker-compose up -d
- 启动dbt server rpc 服务
dbt rpc
效果
dbt rpc
Running with dbt=0.14.0
Found 116 macros, 0 analyses, 0 sources, 0 seed files, 0 snapshots, 0 tests, 1 models, 0 operations
14:39:08 | Concurrency: 3 threads (target='dev')
14:39:08 |
14:39:08 | Done.
Serving RPC server at 0.0.0.0:8580
Supported methods: ['compile', 'run', 'ps', 'kill']
Send requests to http://localhost:8580/jsonrpc
- rpc 服务请求格式
{
"jsonrpc": "2.0",
"method": "{ a valid rpc server command }",
"id": "{ a unique identifier for this query }",
"params": {
"timeout": { timeout for the query in seconds },
"sql": "{ base64 encoded dbt-sql query }",
"name": "{ an identifying name for this query }"
}
}
- 一个rpc 服务参考例子
{
"jsonrpc": "2.0",
"method": "compile",
"id": "2db9a2fe-9a39-41ef-828c-25e04dd6b07d",
"params": {
"timeout": 60,
"sql": "c2VsZWN0IHt7IDEgKyAxIH19IGFzIGlk",
"name": "my_first_query"
}
}
curl 格式
curl -X GET \
http://localhost:8580/jsonrpc \
-H 'Accept: */*' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'Content-Type: text/plain' \
-H 'Host: localhost:8580' \
-H 'accept-encoding: gzip, deflate' \
-H 'cache-control: no-cache' \
-H 'content-length: 229' \
-H 'cookie: Cookie_6=value; platform=order' \
-b 'Cookie_6=value; platform=order' \
-d '{
"jsonrpc": "2.0",
"method": "compile",
"id": "2db9a2fe-9a39-41ef-828c-25e04dd6b07d",
"params": {
"timeout": 60,
"sql": "c2VsZWN0IHt7IDEgKyAxIH19IGFzIGlk",
"name": "my_first_query"
}
}'
返回数据
{
"jsonrpc": "2.0",
"result": {
"timing": [
{
"completed_at": "2019-07-11T06:55:53.542902Z",
"started_at": "2019-07-11T06:55:53.531315Z",
"name": "compile"
},
{
"completed_at": "2019-07-11T06:55:53.543440Z",
"started_at": "2019-07-11T06:55:53.543151Z",
"name": "execute"
}
],
"raw_sql": "select {{ 1 + 1 }} as id",
"compiled_sql": "select 2 as id",
"logs": [
{
"timestamp": "2019-07-11 14:55:53,428",
"message": "Parsing rpc.my_new_package.my_first_query",
"levelname": "DEBUG",
"level": 10
},
{
"timestamp": "2019-07-11 14:55:53,432",
"message": "Acquiring new postgres connection \"my_first_query\".",
"levelname": "DEBUG",
"level": 10
},
{
"timestamp": "2019-07-11 14:55:53,433",
"message": "Opening a new connection, currently in state init",
"levelname": "DEBUG",
"level": 10
},
{
"timestamp": "2019-07-11 14:55:53,522",
"message": "Found 116 macros, 0 analyses, 0 sources, 1 None, 0 seed files, 0 snapshots, 0 tests, 1 models, 0 operations",
"levelname": "NOTICE",
"level": 15
},
{
"timestamp": "2019-07-11 14:55:53,523",
"message": "Acquiring new postgres connection \"my_first_query\".",
"levelname": "DEBUG",
"level": 10
},
{
"timestamp": "2019-07-11 14:55:53,524",
"message": "Opening a new connection, currently in state init",
"levelname": "DEBUG",
"level": 10
},
{
"timestamp": "2019-07-11 14:55:53,531",
"message": "Compiling rpc.my_new_package.my_first_query",
"levelname": "DEBUG",
"level": 10
}
]
},
"id": "2db9a2fe-9a39-41ef-828c-25e04dd6b07d"
}
ls 命令
dbt ls
效果:
dbt ls
my_new_package.example.my_first_dbt_model
说明
dbt 0.14.0 的好多新特性还是很不错的
参考资料
https://docs.getdbt.com/docs/rpc
https://docs.getdbt.com/v0.14/docs/run-operation
https://docs.getdbt.com/docs/list
https://github.com/rongfengliang/dbt-0.14.0-learning
dbt 0.14.0 试用的更多相关文章
- dbt 0.14.0 发布
以下内容来自官方博客,新的功能还是很不错的,后边尝试使用下. 参考资料:https://blog.fishtownanalytics.com/dbt-v0-14-0-better-serving-ou ...
- npm WARN react-native-maps@0.14.0 requires a peer of react@>=15.4.0 but none was installed
install the react-native here comes a questions :: npm WARN react-native@0.41.2 requires a pe ...
- 重大更新!Druid 0.18.0 发布—Join登场,支持Java11
Apache Druid本质就是一个分布式支持实时数据分析的数据存储系统. 能够快速的实现查询与数据分析,高可用,高扩展能力. 距离上一次更新刚过了二十多天,距离0.17版本刚过了三个多月,Druid ...
- dbt 0.13.0 新添加特性sources 试用
dbt 0.13 添加了一个新的功能sources 我呢可以用来做以下事情 从基础模型的源表中进行数据选择 测试对于源数据的假设 计算源数据的freshness source 操作 定义source ...
- Adobe Photoshop CC 14.0简体中文特别版32位和64位下载
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- iMessenger 2.0.14.0801简述
有些梦,看似遥不可及.但并非不能实现,仅仅要你足够的强!!.人力有时而穷,所以我们可能还须要一些热心人的帮助.这个人可能就是你. 四年来,我们一直在努力,从未放弃. 在我们做好一件事之前.我们永远不知 ...
- error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools":解决方案
我是在安装scrapy时遇到这个问题的,安装其他组件也可能会遇到.但问题解决办法都是大致相同的. 以安装scrapy为例: 在pycharm中安装twisted时出现: error: Microsof ...
- Elasticsearch分布式搜索和数据分析引擎-ElasticStack(上)v7.14.0
Elasticsearch概述 **本人博客网站 **IT小神 www.itxiaoshen.com Elasticsearch官网地址 https://www.elastic.co/cn/elast ...
- 无法解决“Microsoft.SharePoint.Security, Version=15.0.0.0,”与“Microsoft.SharePoint.Security, Version=14.0.0.0”之间的冲突
VisualStudio 2013创建控制台项目,.NetFramework选为4.5.生成目标平台:x64.然后添加对Microsoft.SharePoint.dll的引用. 生成项目时," ...
随机推荐
- Oracle--(Hierarchical Queries)层级查询(用于部门层级等)
原网址:https://www.cnblogs.com/guofeiji/p/5291486.html 如果表中包含层级数据,可以使用层级查询子句按层级顺序选择数据行,形成层级树,形式如下: 下面是层 ...
- Vue的router-link标签
在vue1.0版本的超链接标签还是原来的a标签,链接地址由v-link属性控制 而vue2.0版本里超链接标签由a标签被替换成了router-link标签,但最终在页面还是会被渲染成a标签的 至于为什 ...
- git 学习笔记--Feature分支
软件开发中,总有无穷无尽的新的功能要不断添加进来. 添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合 ...
- 原!!Spring redis的Scan的坑,慎用!
线上发现有机器,在发生某块业务大量请求时,后面就没有日志了,查看线程状态,如图1,发现很多线程被阻塞了,查看代码发现,用到了scan,如图2,百度之后,发现该操作不会自动释放redis连接,导致red ...
- Drool7s 什么叫KIE和生命周期-系列03课
KIE是缩写,knowledge is everything.可以理解成一个上层接口,本质是由很多个实现类去实现功能的. 另外关于drool7s的生命周期,请看下图 本文只是让你了解drools7的一 ...
- Spring-Cloud之Feign声明式调用-4
一.Feign受Retrofit.JAXRS-2.0和WebSocket影响,采用了声明式API 接口的风格,将Java Http 客户端绑定到它的内部. Feign 首要目的是将 Java Http ...
- 未能加载文件或程序集 Microsoft.ReportViewer.ProcessingObjectModel, Version=10.0.0.0
写在前面 整理错误集.某一天在启动项目的时候,出现了未能加载文件或程序集 Microsoft.ReportViewer.ProcessingObjectModel, Version=10.0.0.0错 ...
- [個人紀錄] WindowsLiveWriter 插入代碼跳出錯誤
跳出找不到設定檔Can’t load configruaration fromC:\Users\…\AppData\Roaming\Windows Live Writer\WindowsLiveWri ...
- .NET Core随笔把数据库数据查出来转JSON并输出
直接创建WEB项目即可: public class Startup { //startup.cs是站点启动时具体做了哪些事情,主要是开启了一个mvc服务. public Startup(IConfig ...
- Mybatis中使用association及collection进行自关联示例(含XML版与注解版)
XML版本: 实体类: @Data @ToString @NoArgsConstructor public class Dept { private Integer id; private Strin ...