dbt 是一个很不错的进行etl 中的t 处理的工具,灵活简单,我们需要写的就是select 语句
dbt 帮助我们进行处理

测试集成了graphql 以及使用docker 运行

安装

pip install dbt

创建简单demo

  • 使用dbt 处理
dbt init demoapp
  • 配置profile(pg 数据库)
~/.dbt/profiles.yml
default:
target: dev
outputs:
dev:
type: postgres
host: 127.0.0.1
user: root
pass: password
port: 5432
dbname: dbt
schema: dbt
threads: 3
pg:
target: dev
outputs:
dev:
type: postgres
host: 127.0.0.1
user: root
pass: password
port: 5433
dbname: dbt
schema: dbt
  • graphql 集成

    docker-compose 文件

version: "3"
services:
graphql-engine:
image: hasura/graphql-engine:v1.0.0-alpha24
ports:
- "8080:8080"
depends_on:
- database
environment:
- "POSTGRES_PASSWORD:password"
command: >
/bin/sh -c "
graphql-engine --database-url postgres://root:password@database:5432/dbt serve --enable-console;
"
database:
image: postgres
environment:
POSTGRES_USER: "root"
POSTGRES_PASSWORD: "password"
POSTGRES_DB: "dbt"
ports:
- "5432:5432"
database2:
image: postgres
environment:
POSTGRES_USER: "root"
POSTGRES_PASSWORD: "password"
POSTGRES_DB: "dbt"
ports:
- "5433:5432"
  • 修改简单model
models/example/my_first_dbt_model.sql
-- Welcome to your first dbt model!
-- Did you know that you can also configure models directly within
-- the SQL file? This will override configurations stated in dbt_project.yml -- Try changing 'view' to 'table', then re-running dbt
{{ config(materialized='view') }} select 1 as id, 'v1' as version,'default' as v,'default' as v2
union all
select 2,'v2','default','default'
union all
select 3,'v3','default','default'
union all
select 4,'v4','default','default'
union all
select 5,'v5','default','default'
union all
select 6,'v6','default','default'
union all
select 7,'v7','default','default'
union all
select 8,'v8','default','default'
union all
select 9,'v9','default','default'

运行

  • docker-compose 启动
docker-compose up -d
  • 运行dbt
dbt fun
  • 效果


  • 支持graphql 配置

    配置即可


  • 数据查询

参考资料

https://github.com/rongfengliang/dbt-demo
https://www.getdbt.com/

 
 
 
 

dbt 基本试用的更多相关文章

  1. dbt 0.14.0 试用

    dbt 0.14.0 在最近已经发布了,dbt server 的还是很不错的特性,以下安装试用下几个新功能 环境准备 安装 如果没有安装的: pip install dbt 已经安装的: pip in ...

  2. dbt 集成presto试用

    dbt 团队提供了presto 的adapter同时也是一个不错的的参考实现,可以学习 当前dbt presto 对于版本的要求是0.13.1 对于当前最新版本的还不支持,同时需要使用源码安装pip ...

  3. dbt 0.13.0 新添加特性sources 试用

    dbt 0.13 添加了一个新的功能sources 我呢可以用来做以下事情 从基础模型的源表中进行数据选择 测试对于源数据的假设 计算源数据的freshness source 操作 定义source ...

  4. SharePoint Online 申请试用链接地址

    SharePoint Online 申请试用链接地址: https://products.office.com/en-us/business/compare-office-365-for-busine ...

  5. 活动助手Beta用户试用报告

    用户试用报告 1.面向参与者用户 1.1 日常参加各类学习(水综测)活动中,有没有遇到以下问题: (1) 信息来源混乱,不知道靠不靠谱 (2) 每次报名都要重新填写自己的学号手机号,有时候填错了就没综 ...

  6. 创建WP8试用应用

    参考资料: 创建 Windows Phone 的试用应用 如何在 Windows Phone 应用中实现试用体验 Windows Phone 7 开发 31 日谈——第23日:提供试用版应用程序 对资 ...

  7. 达梦7的试用 与SQLSERVER的简单技术对比

    达梦7的试用 与SQLSERVER的简单技术对比 达梦数据库公司推出了他们的数据库服务管理平台,可以在该平台使用达梦数据库而无须安装达梦7数据库 地址:http://online.dameng.com ...

  8. Beta版本——用户试用与调研报告

    1 引言 1.1 系统概述 ​ 毕设导师智能分配系统是一个用来简化传统手工匹配繁琐操作的系统.本系统将学生报志愿.系负责人收集整理数据.相关人员进行手工分配.反馈选择结果等繁琐的操作转移到线上.把毕设 ...

  9. 【记录】尝试用android-logging-log4j去实现log输出内容到sd卡中的文件的功能

    [背景] 折腾: [记录]给Android中添加log日志输出到文件 期间,已经试了: [记录]尝试用android中microlog4android实现log输出到文件的功能 但是不好用. 然后就是 ...

随机推荐

  1. UVA-1629 Cake slicing (DP、记忆化搜索)

    题目大意:一块n*m的矩形蛋糕,有k个草莓,现在要将蛋糕切开使每块蛋糕上都恰有一个(这意味着不能切出不含草莓的蛋糕块)草莓,要求只能水平切或竖直切,求最短的刀切长度. 题目分析:定义状态dp(xa,y ...

  2. spring cloud学习(四) Fegin 的使用

    Feign 的使用 什么是Feign? Feign : Declarative REST clients. Feign 是一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创 ...

  3. UVALive 4168

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA08AAABMCAIAAAA6IBt+AAAgAElEQVR4nO1dybXjOg7tWJSK65yKxL

  4. Transfer files Using sshpass

    #! /bin/bash user=root password=12345678 remote_ip=192.168.3.140 remote_dir=/usr/bin/ local_file_dir ...

  5. javascript开发HTML5游戏--斗地主(单机模式part3)

    最近学习使用了一款HTML5游戏引擎(青瓷引擎),并用它尝试做了一个斗地主的游戏,简单实现了单机对战和网络对战,代码可已放到github上,在此谈谈自己如何通过引擎来开发这款游戏的. 客户端代码 服务 ...

  6. HeadFirstJava

    java执行过程的来龙去脉 源代码——编译器——输出——java虚拟机 扩展名为.java ——扩展名为.class 不要直接用类名点变量来改变属性值,一般都用get.set方法.封装的基本原则:将你 ...

  7. bzoj1607

    题解: 帅选法 把相同的放在一起 代码: #include<bits/stdc++.h> using namespace std; ; int n,a[N],s[N],M,ss[N]; i ...

  8. python元组()小括号

    names = ('jack','rose','tom','jerry','james','jerry') print(names) print(names[0]) #使用元组中的元素 print(n ...

  9. MyEclipse WebSphere开发教程:安装和更新WebSphere 6.1, JAX-WS, EJB 3.0(七)

    [周年庆]MyEclipse个人授权 折扣低至冰点!立即开抢>> [MyEclipse最新版下载] MyEclipse支持Java EE技术(如JAX-WS和EJB 3.0),它们以功能包 ...

  10. 《头文字D》热门同人插画欣赏

    <头文字D>(INITIAL D)是一部以山道飙车为题材的日本青年漫画,以及以漫画改编的动画系列(包含电视版.OVA.与电影版).漫画作者为重野秀一(しげの秀一),自1995 年起开始在讲 ...