2024年4月19日

dremio dbt 模型处理简单说明

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

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

2024年4月18日

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:03 荣锋亮 阅读(1) 评论(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:50 荣锋亮 阅读(1) 评论(0) 推荐(0) 编辑

casl 同构授权js 框架

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

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

lightdash 对于headless browser的使用

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

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

browserless 对于延迟加载图片的处理

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

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

browserless 屏幕捕捉以及pdf 导出简单试用

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

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

browserless 部署无头浏览器到docker中的工具

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

posted @ 2024-04-18 11:48 荣锋亮 阅读(3) 评论(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 荣锋亮 阅读(1) 评论(0) 推荐(0) 编辑

dbt adapter macro 简单说明

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

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

2024年4月17日

dremio FormatCreator 简单说明

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

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

dremio No enum constant com.dremio.common.types.TypeProtos.MinorType.TIMESTAMPMICRO 问题简单说明

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

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

kuto 大型js 项目快速更新的一个工具

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

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

dremio 一个元数据刷新问题

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

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

2024年4月16日

dbt-checkpoint 源码结构简单说明

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

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

自定义pre-commit 开发格式简单说明

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

posted @ 2024-04-16 19:39 荣锋亮 阅读(1) 评论(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 荣锋亮 阅读(2) 评论(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 荣锋亮 阅读(1) 评论(0) 推荐(0) 编辑

dbt 项目依赖文件加载处理简单说明

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

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

2024年4月15日

dbt CompileTask 简单说明

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

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

2024年4月14日

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 荣锋亮 阅读(1) 评论(0) 推荐(0) 编辑

2024年4月13日

windmill Airplane&Superblocks&Retool&Prefect&Airflow 可选工具

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

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

dbt macro 名称获取简单说明

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

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

2024年4月12日

dbt BaseAdapter简单说明

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

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

2024年4月11日

基于dremio 安装包进行源码依赖包maven 私服重建的一个思路

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

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

dremio 25.0 版本的一些问题

摘要: 就是最近dremio 25.0 发布了,昨天在体验了之后似乎一些功能与实际的说明是不太一样的(也可能是社区版的问题) 一些问题 nessie catalog ga 了(生产可用) 官方的说法是支持基于api 以及ALTER TABLE , ALTER VIEW 进行反射更新的,但是似乎是不行的,同时 阅读全文

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

dbt manifest Compiler 简单说明

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

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

2024年4月10日

freenginx 的发布速度明显加快了

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

posted @ 2024-04-10 12:36 荣锋亮 阅读(12) 评论(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 荣锋亮 阅读(6) 评论(0) 推荐(0) 编辑

jar class 文件替换最好使用jar 自带的命令行工具

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

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

poetry pip extras 模式包配置简单说明

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

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

2024年4月9日

lightdash deploy --create 数据库配置问题

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

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

lightdash 与dbt集成的玩法简单说明

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

posted @ 2024-04-09 13:44 荣锋亮 阅读(7) 评论(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 荣锋亮 阅读(6) 评论(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 荣锋亮 阅读(2) 评论(0) 推荐(0) 编辑

2024年4月8日

immer 不可变对象状态管理的工具

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

posted @ 2024-04-08 09:47 荣锋亮 阅读(2) 评论(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 荣锋亮 阅读(4) 评论(0) 推荐(0) 编辑

2024年4月7日

dbt meta 配置简单说明

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

posted @ 2024-04-07 10:24 荣锋亮 阅读(7) 评论(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 荣锋亮 阅读(2) 评论(0) 推荐(0) 编辑

2024年4月6日

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 荣锋亮 阅读(4) 评论(0) 推荐(0) 编辑

导航