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的引用. 生成项目时," ...
随机推荐
- python代码执行SQL文件(逐句执行)
一.简介 关于Python如何连接数据库并执行SQL语句,几乎所有的Python教程都会讲,教程里基本只介绍了执行单条SQL语句的方法,但是实际生产过程中可不只是执行一两条语句,动辄几十条甚至上百条的 ...
- Locust性能测试_参数关联
前言 前面[Locust性能测试2-先登录场景案例]讲了登录的案例,这种是直接传账号和密码就能登录了,有些登录的网站会复杂一点, 需要先从页面上动态获取参数,作为登录接口的请求参数,如[学信网:htt ...
- 一些spring boot的配置
RabbitMQ与Redis队列对比 https://www.cnblogs.com/chinaboard/p/3819533.html Spring batch的学习 https://www.cnb ...
- VC++如何利用Matlab2014b的图形引擎进行绘图
VC++如何利用Matlab的图形引擎 在Visual C++ 2015 工程中使用 Matlab2014b 提供的图形引擎进行绘图的详细过程. 问题来源: 有时候用C++写一些演示程序,有数据可视化 ...
- zcmu 1540第k大数
1540: 第k大数Time Limit: 10 Sec Memory Limit: 128 MB[Submit][Status][Web Board]Description有两个序列a,b,它们的 ...
- git设置代理模式,仅为github设置代理
设置代理: 全局代理 git config --global http.proxy 127.0.0.1:1087 局部代理,在github clone 仓库内执行 git config --local ...
- C# 快捷键(总结)
C# 展开和折叠代码的快捷键 VS2005代码编辑器的展开和折叠代码确实很方便和实用.以下是展开代码和折叠代码所用到的快捷键,很常用: Ctrl + M + O: 折叠所有方法 Ctrl + M + ...
- Quartz基础调度框架-第一篇控制台
Quartz基础调度框架 Quartz核心的概念:scheduler任务调度.Job任务.Trigger触发器.JobDetail任务细节 结构 Conf 在这个基本结构里 是用来存放配置 publi ...
- Python基础知识(八)----文件操作
文件操作 一丶文件操作初识 ###f=open('文件名','模式',编码): #open() # 调用操作系统打开文件 #mode #对文件的操作方式 #encoding # 文件的编码格式 存储编 ...
- Java中强大的format
Java中强大的format Java中允许我们对指定的对象进行某种格式化,从而得到我们想要的格式化样式. Format 首先介绍java.text包中的Format Foramt是一个抽象基类,其具 ...