04 2024 档案

dbt dbt-audit-helper 包提供的一些方便macro
摘要:dbt-audit-helper 从字面意思是dbt 的审计帮助工具,但是实际上我们也可以使用此工具做一些数据质量相关的东西 dbt-audit-helper 提供的macro 比较数据输出 包含了compare_relations,compare_queries,compare_row_count 阅读全文

posted @ 2024-04-30 12:08 荣锋亮 阅读(18) 评论(0) 推荐(0) 编辑

dremio 日志配置
摘要:dremio 对于日志的配置支持基于系统属性以及环境变量的模式,对于环境变量实际上也是使用的系统属性 参考配置 系统属性 可以直接通过dremio-env 文件添加 -Ddremio.log.path=/opt/dremio/logs 环境变量 直接添加环境变量就可以了 DREMIO_LOG_DIR 阅读全文

posted @ 2024-04-30 11:44 荣锋亮 阅读(7) 评论(0) 推荐(0) 编辑

dbt Exposure 简单说明
摘要:dbt Exposure 实际上就是给model,source,metrics 添加一个元数据标签,可以方便的在系统中展示,有利于模型依赖的可视化当然也有助于数据模型资产的分析 一个参考效果 如果不自己进行解析处理的话,主要体现在docs 界面上 参考资料 https://docs.getdbt.c 阅读全文

posted @ 2024-04-30 08:00 荣锋亮 阅读(7) 评论(0) 推荐(0) 编辑

dremio The source [xxxx] is currently unavailable. Metadata is not accessible; please check node health简单说明
摘要:最近在dremio 25.0 版本碰到了一些问题,以下说明下原因以及处理 问题现象 问题 实际上此问题是执行节点报的错误,并不是协调节点的,早期一直以为是协调节点的,结果通过分析调试发现是协调节点报的错误 The source [xxxx] is currently unavailable. Met 阅读全文

posted @ 2024-04-29 08:36 荣锋亮 阅读(31) 评论(0) 推荐(0) 编辑

dbt test block 简单说明二
摘要:以前简单说明过dbt test block,属于一个自定义的扩展,同时也简单说明了一些使用,实际上dbt 的test 也是一个物化处理,支持物化的类型为test 参考manifest test 类型的定义 因为存在此定义,按照dbt 的处理会基于物化的规则来进行sql 生成处理 test 物化参考定 阅读全文

posted @ 2024-04-29 07:32 荣锋亮 阅读(26) 评论(0) 推荐(0) 编辑

dbt context 变量简单说明
摘要:dbt 的模型以及macro 中实际上是可以引用一个context 变量的,此变量没有在文档中有说明,但是官方一些macro 中使用了此变量 参考使用 dbt 的snapshots strategies 处理中基于配置的strategy 查找对应的macro {% macro strategy_di 阅读全文

posted @ 2024-04-28 08:00 荣锋亮 阅读(15) 评论(0) 推荐(0) 编辑

dbt seed 处理简单说明
摘要:dbt 支持基于seed 的快速建模处理(比较适合测试环境使用),我们只需要提供csv 格式的文件,之后执行dbt seed 就会创建对应的模型,之后我们就可以在 dbt 模型中引用了,以下简单说明下内部实现以及处理 参考使用 seed 文件位置 一般我们会在dbt 项目的seed 目录中放对应的s 阅读全文

posted @ 2024-04-27 08:00 荣锋亮 阅读(43) 评论(0) 推荐(0) 编辑

dremio 25.0 KVStore 升级简单说明
摘要:dremio 25.0 开始对于数据源的存储支持加密了,所以升级上稍有不同,官方给出的操作流程如下 参考处理 // 对于已经运行的,应该先stop,然后进行应用包的替换 dremio stop // 执行dremio-admin 的upgrade dremio-admin upgrade // 启动 阅读全文

posted @ 2024-04-27 08:00 荣锋亮 阅读(14) 评论(0) 推荐(0) 编辑

dremio datastore简单说明二
摘要:以前也介绍过dremio 的datastore,目前软件版主要是基于rocksdb 的kv,对于创建会基于一个的集群角色使用不同的 dremio 实际包含了好几类的KVStoreProvider 参考KVStoreProvider实现子类 可以看到包含了local,remote,trace,noop 阅读全文

posted @ 2024-04-26 08:00 荣锋亮 阅读(16) 评论(0) 推荐(0) 编辑

dbt server 简单说明
摘要:目前dbt 官方提供的几个web api 服务基本都废弃了,包含了dbt-server 以及dbt-rpc 如果需要自己包装web api 服务推荐的还是基于dbt core 提供的dbtRunner,具体在core/dbt/cli/main.py 中,可以参考学习 参考资料 https://git 阅读全文

posted @ 2024-04-26 07:15 荣锋亮 阅读(23) 评论(0) 推荐(0) 编辑

dbt 增量物化策略简单说明
摘要:dbt 物化模型是支持增量处理的,实际场景中基于增量的数据处理还是比较重要的,dbt 对于增量的处理会和一些因素有关系,比如数据大小, 可靠的unique_key 以及特定数据平台的支持incremental_strategy 策略可以对于特定adapter 支持配置 目前支持的增量策略 当然与实际 阅读全文

posted @ 2024-04-25 07:07 荣锋亮 阅读(84) 评论(0) 推荐(0) 编辑

dbt is_incremental macro 简单说明
摘要:is_incremental macro 实际上就是一个判断,以下是实现的简单说明,官方文档也有说明 参考处理 逻辑 模型必须存在(数据库中),目的表也存在(数据库中),full-refresh 没有传递,模型配置了materialized='incremental' macro 实现 结合上边的逻 阅读全文

posted @ 2024-04-24 07:14 荣锋亮 阅读(20) 评论(0) 推荐(0) 编辑

dbt test block 简单说明
摘要:dbt 的test block实际上是一个jinja2 的扩展,目前主要是test 场景中使用, 此block的实现处理与标准物化的处理是类似的都是jinja2 的扩展 test macro 的创建 按照当前dbt 的版本是分为两中模式,对于tests 路径是可以配置的,包含了tests/gener 阅读全文

posted @ 2024-04-23 07:42 荣锋亮 阅读(19) 评论(0) 推荐(0) 编辑

nginx 1.25.5 发布
摘要:就在最近nginx 发布了1.25.5 有一些特性比较有意思 新特性 stream 支持虚拟主机了 比较有意思的功能,结合sni 可以做一些很有意思的事情 一个新的模块ngx_stream_pass_module 与proxy_pass 类似,目前主要是proxy 到ip port (域名以及类似u 阅读全文

posted @ 2024-04-22 10:01 荣锋亮 阅读(213) 评论(0) 推荐(0) 编辑

dbt exceptions macro 简单说明
摘要:dbt exceptions 实际属于一个namespace 变量可以进行一些代码可控的异常处理以及raise 以及warn 参考使用 raise_compiler_error 使用 {% if number < 0 or number > 100 %} {{ exceptions.raise_co 阅读全文

posted @ 2024-04-22 07:34 荣锋亮 阅读(7) 评论(0) 推荐(0) 编辑

dbt 使用adapter.dispatch 进行macro 的覆盖处理
摘要:adapter.dispatch 是一个很方便的功能,可以实现方法的重载,对于不同环境可以使用不同的macro ,以下是一个简单示例 macro 定义 appdemo.sql 注意在macros 目录下,当然可以修改 {% macro demo(name,age) %} # 注意此处我没有指定,na 阅读全文

posted @ 2024-04-21 08:00 荣锋亮 阅读(7) 评论(0) 推荐(0) 编辑

dbt doc 函数内部处理简单说明
摘要:dbt 提供了一个方便的doc 函数,可以方便的使用类似ref 模式进行docs block 定义的引用 引用参考处理 示例 version: 2 models: - name: events description: '{{ doc("table_events") }}' columns: - n 阅读全文

posted @ 2024-04-21 08:00 荣锋亮 阅读(17) 评论(0) 推荐(0) 编辑

dbt docs block 简单说明
摘要:dbt docs block 是一个jinja2 bblock 的扩展,以下是一个简单的说明 参考使用 定义 {% docs table_events %} This table contains clickstream events from the marketing website. The 阅读全文

posted @ 2024-04-21 08:00 荣锋亮 阅读(8) 评论(0) 推荐(0) 编辑

dbt asset-paths 简单说明
摘要:dbt的asset-paths 是一个比较有意思的配置,可以用来增强我们的文档信息,比如存放一些图片在资源描述中引用资源 生成的文档中可以进行显示,提示文档的信息 参考配置 dbt_project.yml asset-paths: ["assets"] 使用 假如assets包含一些描述图片信息 m 阅读全文

posted @ 2024-04-20 08:00 荣锋亮 阅读(11) 评论(0) 推荐(0) 编辑

dbt docs block 的一些技巧
摘要:dbt 的docs 实际上自定义上还是很强大的,可以灵活的docs block 解析,同时docs 定义也可以类似model 那样进行引用,当然也包含了一些内部固定模式可以灵活的进行文档的自定义 一些内置自定义玩法 自定义文档路径 类似dbt 其他资源一样docs 也是支持自定义的,否则默认会搜索m 阅读全文

posted @ 2024-04-20 08:00 荣锋亮 阅读(10) 评论(0) 推荐(0) 编辑

dremio 25.0 maven ce 依赖官方已经发布
摘要:以前写过如何基于软件包的jar 实现maven 依赖的重构,目前官方ce 依赖的包已经发布了,可以直接使用了 参考资料 https://www.cnblogs.com/rongfengliang/p/18129848 阅读全文

posted @ 2024-04-20 07:16 荣锋亮 阅读(13) 评论(0) 推荐(0) 编辑

dremio dbt ref 内部处理简单说明
摘要:dremio dbt 内部对于ref 进行了重写,可以实现一些灵活的扩展 参考处理 ref 参考实现 dbt/include/dremio/macros/builtins/builtins.sql 对于ref 进行了一些调整,可以进行一些自定义操作,核心是对于模型格式化的定义 {%- macro r 阅读全文

posted @ 2024-04-20 00:16 荣锋亮 阅读(13) 评论(0) 推荐(0) 编辑

npm 下载npm tar 包
摘要:主要记录下如何使用npm 的pack 命令,快速下载npm repo 中的tar 包,方便项目使用 参考处理 参考命令 npm pack @lakehouse-rs/flight-sql-client-linux-x64-gnu@0.0.7 效果 说明 当然也可以通过npm 的json api 格式 阅读全文

posted @ 2024-04-19 22:53 荣锋亮 阅读(86) 评论(0) 推荐(0) 编辑

dremio dbt 模型处理简单说明
摘要:dremio dbt adapter 在设计的时候与传统adapter 稍有不同,比如里边调整了database 名称的处理,同时因为dremio 的特殊性 对于物化的处理是先物化然后创建一个视图(table 模式的) 对于我们实际使用到的数据是在dremio 的space (或者nessie 数据 阅读全文

posted @ 2024-04-19 06:59 荣锋亮 阅读(19) 评论(0) 推荐(0) 编辑

graalvmjs 24.0.1 nodejs 镜像
摘要:graalvmjs 已经支持jdk 22了,基于官方提供的更新了新版本的docker 镜像,方便使用 Dockerfile FROM debian:bullseye-backports LABEL author="rongfengliang" LABEL email="1141591465@qq.c 阅读全文

posted @ 2024-04-18 12:02 荣锋亮 阅读(35) 评论(0) 推荐(0) 编辑

dremio SchemaMutability 简单说明
摘要:dremio SchemaMutability 属于一个枚举,定义了schema 的可变性能力() 参考定义 public enum SchemaMutability { @Tag(1) ALL(true, true, true, true), @Tag(2) NONE(false, false, 阅读全文

posted @ 2024-04-18 11:49 荣锋亮 阅读(7) 评论(0) 推荐(0) 编辑

casl 同构授权js 框架
摘要:casl 同构授权js 框架,提供了web前端以及后端的集成支持(使用相同的api ) 包含的特性 多功能 灵活的基于subject 以及属性的授权处理 同构 同时支持前端以及后端 类型安全 基于ts 开发 小巧 压缩之后只有6kb 声明式的 基于声明式的可以灵活的进行规则的共享,包含了ui,api 阅读全文

posted @ 2024-04-18 11:48 荣锋亮 阅读(38) 评论(0) 推荐(0) 编辑

lightdash 对于headless browser的使用
摘要:对于slack 的unfurl lightdash 使用了headless browser,以下说明下内部处理 参考图 此图来自官方文档,可以看出主要包含了调度以及slack 的 内部实现 实际上就是对于 unfurl 的图片处理部分,里边包含了cookie处理(安全)以及对于请求进行拦截(核心也是 阅读全文

posted @ 2024-04-18 11:48 荣锋亮 阅读(12) 评论(0) 推荐(0) 编辑

browserless 对于延迟加载图片的处理
摘要:日常中大家为了提高web的性能基于可见区的图片加载基本常见,但是对于基于puppeteer的快照以及pdf生成就不太方便了,以下是一个解决方法,核心是过去内容的高度,基于代码进行滚动,模拟人的操作实现资源的加载 参考实现 const express = require("express"); con 阅读全文

posted @ 2024-04-18 11:48 荣锋亮 阅读(25) 评论(0) 推荐(0) 编辑

browserless 屏幕捕捉以及pdf 导出简单试用
摘要:基于browserless 以及puppeteer 我们可以快速的进行屏幕捕捉生成图片以及导出pdf 文件,以下是一个简单的试用 环境准备 docker-compose version: "3" services: app: image: browserless/chrome:latest port 阅读全文

posted @ 2024-04-18 11:47 荣锋亮 阅读(46) 评论(0) 推荐(0) 编辑

browserless 部署无头浏览器到docker中的工具
摘要:browserless 部署无头浏览器到docker 中的工具 包含的特性 支持可配置的并行以及请求队列 开箱即用的字体支持 debug 视图支持 交互式的puppeteer 调试器 支持puppeteer 以及playwright 支持基于websocket 以及rest api 的请求控制(可以 阅读全文

posted @ 2024-04-18 11:47 荣锋亮 阅读(427) 评论(0) 推荐(0) 编辑

dbt flags 变量简单说明
摘要:通过flags 可以使用dbt cli 的一些参数,比较常用的是对于增量物化处理的场景 参考使用 {% if flags.FULL_REFRESH %} drop table ... {% else %} -- no-op {% endif %} 说明 支持的参数都在flags 中可以看看,一些db 阅读全文

posted @ 2024-04-18 09:14 荣锋亮 阅读(15) 评论(0) 推荐(0) 编辑

dbt adapter macro 简单说明
摘要:dbt 的adapter macro 提供了方便的在macro 中对于db 操作的能力,让macro 具有了动态能力,默认包含了不少实现 而且在不少dbt 项目中经常看到 参考使用 结合了api 这个macro 提供了能力,进行ddl 的维护 {%- set target_relation = ap 阅读全文

posted @ 2024-04-18 06:40 荣锋亮 阅读(10) 评论(0) 推荐(0) 编辑

dremio FormatCreator 简单说明
摘要:FormatCreator 的核心职责就是进行Format plugin 的创建 核心提供的能力 如下图,目前核心是为FileSystemPlugin 提供格式化处理的能了(包含了格式识别,数据预览,格式插件查找,创建格式插件) 构造函数初始化 默认是基于了动态类发现以及加载进行系统FormatPl 阅读全文

posted @ 2024-04-17 19:49 荣锋亮 阅读(15) 评论(0) 推荐(0) 编辑

dremio No enum constant com.dremio.common.types.TypeProtos.MinorType.TIMESTAMPMICRO 问题简单说明
摘要:现象 此问题一般出现了我们对于数据源的物理表进行了反射(源表包含时间戳类型的数据),但是我们希望直接使用反射里边的parquet 文件格式数据,此时使用预览默认是可以读取parquet 数据的,但是当我们实际查询的时候发现可能提示此问题 参考异常调用链 VALIDATION ERROR: No en 阅读全文

posted @ 2024-04-17 19:48 荣锋亮 阅读(12) 评论(0) 推荐(0) 编辑

kuto 大型js 项目快速更新的一个工具
摘要:kuto 这个工具比较有意思,可以将大型js 项目的js bundler 进行拆分,这样用户就可以下载更少的资源了,提升加载速度 kuto 的处理机制 第一次构建的时候 kuto 可以将源js 拆分为maina 以及一个正常的大的corpus corpus 没有副作用,同时这个corpus 是可以c 阅读全文

posted @ 2024-04-17 08:00 荣锋亮 阅读(33) 评论(0) 推荐(0) 编辑

dremio 一个元数据刷新问题
摘要:以前关于dremio 元数据刷新的也简单介绍过,最近发现dremio 新版本(从24.1 版本开始)有一些调整,废弃了,所有数据集的刷新配置 只支持基于查询的元数据刷新,一些关于此调整一些说明 好处 减少了元数据刷新的时间以及对于查询的影响,可以让查询阶段的元数据处理更快了(核心是减少查询处理) 减 阅读全文

posted @ 2024-04-17 00:15 荣锋亮 阅读(28) 评论(0) 推荐(0) 编辑

dbt-checkpoint 源码结构简单说明
摘要:前边说过dbt-checkpoint 是基于dbt 的元数据解析,然后集合规则进行check,属于一个pre-commit 插件,以下简单说明下内部实现 配置 核心是 .pre-commit-hooks.yaml文件,一个标准的pre-commit 定义 内容 核心是id,name,entry,la 阅读全文

posted @ 2024-04-16 19:39 荣锋亮 阅读(16) 评论(0) 推荐(0) 编辑

自定义pre-commit 开发格式简单说明
摘要:内容来自官方文档,主要是简单说明下,方便学习 约定 git 项目需要包含.pre-commit-hooks.yaml 文件,里边内容格式如下 - id: trailing-whitespace name: Trim Trailing Whitespace description: This hook 阅读全文

posted @ 2024-04-16 19:38 荣锋亮 阅读(36) 评论(0) 推荐(0) 编辑

pre-commit 多语言pre-commit hooks 框架
摘要:pre-commit 多语言pre-commit hooks 框架 基于python 开发,功能很强大 参考使用 安装 pip install pre-commit 添加配置 .pre-commit-config.yaml repos: - repo: https://github.com/pre- 阅读全文

posted @ 2024-04-16 19:38 荣锋亮 阅读(44) 评论(0) 推荐(0) 编辑

dbt-checkpoint 确保dbt 项目质量的pre-commit hooks 工具
摘要:dbt-checkpoint 实际上属于pre-commit hooks plugin 实现了不少hooks 可以用来提升dbt 项目的模型质量内部处理上实际是对于dbt 的元数据进行解析,当然dbt-checkpoint 也提供了不少其他扩展 目前包含的hooks 只大概说明下,详细的后边介绍下, 阅读全文

posted @ 2024-04-16 19:38 荣锋亮 阅读(14) 评论(0) 推荐(0) 编辑

dbt 项目依赖文件加载处理简单说明
摘要:核心是通过ManifestLoader 的load 方法中通过调用ReadFilesFromFileSystem 处理的,以前简单说明dbt 的一些任务执行是需要先生成manifest文件(比如run) 此任务数据的预处理是通过装饰器 ReadFilesFromFileSystem 类 @datac 阅读全文

posted @ 2024-04-16 08:00 荣锋亮 阅读(23) 评论(0) 推荐(0) 编辑

dbt CompileTask 简单说明
摘要:以前简单介绍过dbt 的manifest Compiler 模块,以下说明下dbt 的CompileTask cli task 作用 核心是对于解析生成的Manifest 进行编译,同时还会对于编译结果写入target 目录,同时还需要进行db 链接进行一个check 处理(比如schema 信息获 阅读全文

posted @ 2024-04-15 00:58 荣锋亮 阅读(12) 评论(0) 推荐(0) 编辑

jinja2 通过添加自定义parser实现macro的名称调整
摘要:实际上是dbt 在设计macro 中的一个技巧,比较有意思,对于系统或者三方包开发的macro 添加自己prefix 比如,原始macro name 为dremio__alter_column_type dbt 会将解析的macro 添加一个dbt_macro__的前缀为 dbt_macro__dr 阅读全文

posted @ 2024-04-14 06:46 荣锋亮 阅读(20) 评论(0) 推荐(0) 编辑

windmill Airplane&Superblocks&Retool&Prefect&Airflow 可选工具
摘要:现在调度工具是越来越多了,而且集成的能力也越来越强大了windmill 是一个很不错的workflow 调度平台功能很强大 特性 可扩展的执行runtime,支持跨语言代码执行 强大的调度器,支持基于低代码以及yaml 模式 通过app builder 使用低代码或者js 框架开发面向数据的dash 阅读全文

posted @ 2024-04-13 09:11 荣锋亮 阅读(39) 评论(0) 推荐(0) 编辑

dbt macro 名称获取简单说明
摘要:dbt common 包中包含了一个工具模块可以进行macro 的组合 参考代码 可以看出主要是进行组合的,属于一个格式,对于后续任务执行的macro 处理需要使用 from dbt_common.exceptions import DbtInternalError # dbt 对于macro 会默 阅读全文

posted @ 2024-04-13 00:07 荣锋亮 阅读(16) 评论(0) 推荐(0) 编辑

dbt BaseAdapter简单说明
摘要:BaseAdapter是dbt 所有adapter 的父类,dbt 内部默认实现了有一个SQLAdapter 的实现,现有的一些扩展基本实现SQLAdapter 就可以了 比如dremio 的dbt adapter 就是直接扩展的SQLAdapter BaseAdapter 提供的能力 简单说明 a 阅读全文

posted @ 2024-04-12 07:38 荣锋亮 阅读(12) 评论(0) 推荐(0) 编辑

基于dremio 安装包进行源码依赖包maven 私服重建的一个思路
摘要:dremio 25.0 版本已经发布了,但是如果希望自己源码构建,但是缺少一些依赖造成编译会有问题,但是我们可以直接基于官方提供的 下载包的文件进行maven 私服的重建,以下说明下简单流程 参考流程 下载软件包 这个可以从dremio 官网下载到 最好选择一个可以构建的分支本地构建下 此步骤的目的 阅读全文

posted @ 2024-04-11 18:29 荣锋亮 阅读(48) 评论(7) 推荐(0) 编辑

dremio 25.0 版本的一些问题
摘要:就是最近dremio 25.0 发布了,昨天在体验了之后似乎一些功能与实际的说明是不太一样的(也可能是社区版的问题) 一些问题 注意jdk8 不支持了,最低是jdk 11 了 nessie catalog ga 了(生产可用) 官方的说法是支持基于api 以及ALTER TABLE , ALTER 阅读全文

posted @ 2024-04-11 11:30 荣锋亮 阅读(34) 评论(0) 推荐(0) 编辑

dbt manifest Compiler 简单说明
摘要:包含了与处理以及实际的编译处理compile 以及compile_node 在compilation 模块中的Compiler 类中 主要使用的模块 主要是CompileRunner.compile, GenericRPCRunner.compile, RunTask.get_hook_sql 这几 阅读全文

posted @ 2024-04-11 07:11 荣锋亮 阅读(9) 评论(0) 推荐(0) 编辑

freenginx 的发布速度明显加快了
摘要:freenginx 与nginx 的事情大家可能都听说过,目前看freenginx 迭代速度是明显加快了,目前已经发布到1.26.0 了有不少bug 的修复值得试用下,以下是目前最新的一些发布信息 说明 目前nginx 的分支是越来越多了,不少项目都是从官方人员分裂出来的,angie 同样也是一个n 阅读全文

posted @ 2024-04-10 12:35 荣锋亮 阅读(152) 评论(0) 推荐(0) 编辑

dremio 25.0 发布
摘要:就在最近dremio 发布了25.0 版本,新的特性很多,同时也有不少历史问题的fix,完整信息可以参考官方文档 说明 等后边体验之后说明下新特性的功能 参考资料 https://docs.dremio.com/current/release-notes/version-250-releasehtt 阅读全文

posted @ 2024-04-10 10:28 荣锋亮 阅读(17) 评论(0) 推荐(0) 编辑

jar class 文件替换最好使用jar 自带的命令行工具
摘要:最近在进行一个系统fix的时候,按照最简单的方法就是自己unzip jar 文件,之后通过编译代码,然后替换class文件,之后通过jar cvf 进行重新压缩,但是每次替换都会提示spring bean 存在多个,原始的就没有问题,经过一些尝试发现是此方法不太好,部分系统的加载的jar 会有差异影 阅读全文

posted @ 2024-04-10 10:10 荣锋亮 阅读(169) 评论(0) 推荐(0) 编辑

poetry pip extras 模式包配置简单说明
摘要:我们经常看到一些开源pip 包提供了类似pip install awesome[databases] 模式的安装方法,以下是一个简单说明 使用到的核心配置 核心就是extras 配置,对于不同的构建工具的配置可能不太一样,但是都是基于extras的 poetry参考配置 我使用的是编辑模式的包,实际 阅读全文

posted @ 2024-04-10 07:09 荣锋亮 阅读(69) 评论(0) 推荐(0) 编辑

lightdash deploy --create 数据库配置问题
摘要:默认lightdash deploy --create 的时候会进行dbt profile target 数据库的链接测试,如果不通就会有提示问题同时lightdash deploy 同时创建项目的时候会提示是否包含数据库的信息(在创建的时候会写入到backend 服务中) dbt pg adapt 阅读全文

posted @ 2024-04-09 13:44 荣锋亮 阅读(24) 评论(0) 推荐(0) 编辑

lightdash 与dbt集成的玩法简单说明
摘要:lightdash 是依赖dbt 进行建模的bi 工具,以下说明下lightdash 是如何集成dbt 的 简单操作流程 如下,主要是安装cli,预处理表,然后创建项目 内部处理简单说明 packages/cli/src/index.ts 代码位置,主要是通过自定义一些dbt 的meta 信息,然后 阅读全文

posted @ 2024-04-09 13:43 荣锋亮 阅读(122) 评论(0) 推荐(0) 编辑

ludic 基于纯python 开发动态html 页面的框架
摘要:ludic 使用了htmx 进行页面的处理,同时基于starlette 提供asgi web 能力 包含的特性 基于python 的无缝的htmx 集成快速开发web 基于python 类型系统的类型组件 基于starlette的异步搞性能web 处理 基于python f-strings 的htm 阅读全文

posted @ 2024-04-09 13:36 荣锋亮 阅读(19) 评论(0) 推荐(0) 编辑

fire google 开源的python cli 工具
摘要:click 是python 一个比较常用的cli 开发工具包,fire是google 开发的一个更加方便的cli 工具包,使用起来比较简单 以下是一个简单的试用 简单使用 项目init hatch new demo 添加依赖 pyproject.toml dependencies = [ "fire 阅读全文

posted @ 2024-04-09 08:00 荣锋亮 阅读(15) 评论(0) 推荐(0) 编辑

immer 不可变对象状态管理的工具
摘要:immer是一个不可变对象状态管理的node 包,一般主要场景应用到react 等项目中,当然node 项目也是可以使用的 优点 遵循不可变数据流 强类型 开箱即用的结构共享 开箱即用的对象冻结 json patche 支持 gzip 之后比较小 内部参考处理 如下图 参考资料 https://im 阅读全文

posted @ 2024-04-08 09:47 荣锋亮 阅读(24) 评论(0) 推荐(0) 编辑

pluggy python setuptools entry_points 模式加载插件
摘要:已经简单介绍过关于pluggy python 插件包的使用,以下演示下基于python 的setuptools entry_points 模式加载插件 此功能是pluggy 插件注册的一个模式 项目代码结构 结构 ├── README.md ├── bootstrap │ ├── README.md 阅读全文

posted @ 2024-04-08 00:07 荣锋亮 阅读(62) 评论(0) 推荐(0) 编辑

dbt meta 配置简单说明
摘要:dbt 的meta 从dbt 系统的角度来说,属于一些元数据的扩展,可以添加一个二外的描述信息,方便进行文档或者其他的扩展(比如开发自己的解析处理) lightdash 是基于dbt 的一个bi 平台,就比较依赖dbt 的meta 能力 配置说明 dbt meta 可以通过dbt_project.y 阅读全文

posted @ 2024-04-07 10:23 荣锋亮 阅读(23) 评论(0) 推荐(0) 编辑

pluggy python 最小产品级插件框架
摘要:pluggy python 最小产品级插件框架,目前在pytest,tox 以及devpi 项目中都有使用到 简单使用 项目准备 poetry new plugindemo poetry shell poetry add pluggy 代码 plugindemo/demo.py import plu 阅读全文

posted @ 2024-04-07 08:00 荣锋亮 阅读(43) 评论(0) 推荐(0) 编辑

dbt query_header 简单说明
摘要:dbt 对于每个实际执行的任务(实际sql)都会包含一个任务注释,可以方便的查看dbt 版本,执行nodeid,target 参考格式 /* {"app": "dbt", "dbt_version": "1.5.11", "profile_name": "dremio_nessie", "targe 阅读全文

posted @ 2024-04-06 08:00 荣锋亮 阅读(9) 评论(0) 推荐(0) 编辑

dbt debug macro 简单说明
摘要:dbt 支持debug macro 可以用来进行调试 使用 {% macro my_macro() %} {% set something_complex = my_complicated_macro() %} {{ debug() }} {% endmacro %} 参考实现 实际上就是通过环境变 阅读全文

posted @ 2024-04-05 08:00 荣锋亮 阅读(15) 评论(0) 推荐(0) 编辑

dbt statement macro 简单说明
摘要:statement blocks 实际上就是一个标准的jinja2 macro 调用包装, 提供了方便的sql 执行能力,因为需要进行 查询结果的存储,dbt 提供了一个store_result 的macro,内部数据的处理基于了agate 这个方便的python 数据处理包 为了查询使用提供了lo 阅读全文

posted @ 2024-04-04 08:33 荣锋亮 阅读(21) 评论(0) 推荐(0) 编辑

dbt dremio 项目代码结构简单说明
摘要:以前简单介绍过dremio dbt 扩展的特点,以下说明下代码结构 参考代码结构 dbt ├── adapters │ └── dremio │ ├── __init__.py │ ├── __version__.py │ ├── api │ │ ├── __init__.py │ │ ├── au 阅读全文

posted @ 2024-04-03 00:49 荣锋亮 阅读(14) 评论(0) 推荐(0) 编辑

dbt adapter 注册处理简单说明
摘要:以下简单说明下dbt 是如何加载其他adapter 的 参考注册处理 实际上是在cli 的manifest 装饰器的parse_manifest 中处理的 参考代码 def parse_manifest(runtime_config, write_perf_info, write, write_js 阅读全文

posted @ 2024-04-03 00:48 荣锋亮 阅读(12) 评论(0) 推荐(0) 编辑

dbt click包执行上下文manifest 处理简单说明
摘要:dbt 的cli 执行是基于了click 者pip 包,同时为了方便执行(比如依赖的参数),dbt 核心比较重要的是manifest 这个参数是通过context 传递的 run 参考task 处理 参考代码 core dbt/cli/main.py @cli.command("run") @cli 阅读全文

posted @ 2024-04-03 00:47 荣锋亮 阅读(9) 评论(0) 推荐(0) 编辑

dremio dbt 实现简单说明
摘要:dremio dbt adapter 是一个方便的可以通过dbt 进行dremio 模型的工程化建模工具,adapter 实现上也是按照标准的套路以下是一个关于实现的简单说明 内部实现特点 dremio 的操作基于了http 的rest api,没有使用odbc 或者flight sql 处理,这样 阅读全文

posted @ 2024-04-03 00:46 荣锋亮 阅读(15) 评论(0) 推荐(0) 编辑

RudderStack 开源CDP 平台
摘要:RudderStack是基于golang 开发的开源CDP 平台 包含的特性 event streaming 支持16+ sdk profiles 快速基于dw 或者data lake 构建客户画像 reverse etl 支持反向etl 数据治理 支持增强追踪,方便对于一些隐私数据的管理 even 阅读全文

posted @ 2024-04-02 13:07 荣锋亮 阅读(161) 评论(0) 推荐(0) 编辑

agate 一个方便的python 数据分析包
摘要:对于基于python数据处理的同学,使用pandas 的可能比较多,但是agate 也是一个很不错的选择,比如dbt 对于seed 模型的处理就基于了agate agate包含的特性 易读以及用户用好的api 完整的类似sql 的操作 unicode 支持 比较完整的文档 插件化的扩展支持(比如sq 阅读全文

posted @ 2024-04-02 13:07 荣锋亮 阅读(13) 评论(0) 推荐(0) 编辑

PyNest基于fastapi 类似nestjs 的python 框架
摘要:PyNest基于fastapi 类似nestjs 的python 框架 支持的特性 依赖注入 类型注解 装饰器 代码生成 参考使用 安装cli pip install pynest-api 创建项目 pynest create-nest-app -n my_app_name 添加模块 pynest 阅读全文

posted @ 2024-04-02 08:00 荣锋亮 阅读(38) 评论(0) 推荐(0) 编辑

dbt Runner 简单说明
摘要:Runner 提供了一个任务执行的抽象定义,同时 BaseRunner参考类图 可以看出BaseRunner task 使用 主要是基于提供的一个方法标记使用的runner 实现 def get_runner_type(self, node): raise NotImplementedError(" 阅读全文

posted @ 2024-04-02 08:00 荣锋亮 阅读(24) 评论(0) 推荐(0) 编辑

setuptools 对于现代python包支持的简单试用
摘要:以前我们编写python包通过setuptools 是编写配置setup.cfg以及一个setup.py 文件,现代的玩法是基于pyproject.toml 以下是一个简单学习 项目准备 使用venv cli python -m venv venv source venv/bin/activate 阅读全文

posted @ 2024-04-01 08:00 荣锋亮 阅读(29) 评论(0) 推荐(0) 编辑

dbt macro 的执行简单说明
摘要:BaseAdapter 中包含了一个adapter 实际运行依赖的转换,链接处理,当然也包含了macro 的执行,具体方法有直接的execute_macro ModelRunner 中的materialization_macro(run 命令)还有run-operation 中RunOperatio 阅读全文

posted @ 2024-04-01 08:00 荣锋亮 阅读(26) 评论(0) 推荐(0) 编辑

导航