上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 124 下一页

2024年4月9日

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) 编辑

2024年4月8日

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) 编辑

2024年4月7日

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) 编辑

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

2024年4月5日

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) 编辑

2024年4月4日

dbt statement macro 简单说明

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

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

2024年4月3日

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) 编辑

2024年4月2日

RudderStack 开源CDP 平台

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

posted @ 2024-04-02 13:07 荣锋亮 阅读(159) 评论(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) 编辑

2024年4月1日

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) 编辑

2024年3月31日

dbt this macro 处理简单说明

摘要: dbt this macro提供了一种方便的对于当前模型展现的方法,可以使用在增量模型以及pre&post hooks 中 this 实际是就类似ref('<the_current_model>') 是一个relation 包含了database,schema 以及模型标识 使用示例 一个增量处理的 阅读全文

posted @ 2024-03-31 10:27 荣锋亮 阅读(12) 评论(0) 推荐(0) 编辑

2024年3月30日

hatch python 现代项目管理工具

摘要: hatch python 现代项目管理工具,以下是一些简单试用 安装 cli brew install hatch 一些推荐配置 这样我们的venv 直接在执行目录中,比较方便使用 hatch config set dirs.env.virtual .hatch 简单项目 cli hatch new 阅读全文

posted @ 2024-03-30 10:13 荣锋亮 阅读(160) 评论(0) 推荐(0) 编辑

dremio sqlalchemy poetry 模式包管理

摘要: 比较有意思的是关于poetry setuptools entry_points 配置的,目前基于script 模式是有问题的,结果通过尝试 使用plugin 模式是可以的 参考配置 [tool.poetry.plugins."sqlalchemy.dialects"] "dremio.flight" 阅读全文

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

2024年3月29日

dremio sqlalchemy 连接说明

摘要: 实际上有社区已经有一个python包了,但是里边一些实现目前有一些问题(pip 包的,当然还有一些数据类型支持的问题) 我fork 进行了一些调整 一些问题 pandas 依赖 应该是pyarrow的调整,我在代码setup.py 添加了 supports_statement_cache 问题 我按 阅读全文

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

2024年3月28日

dremio 异步读取但是没开启cache 的处理

摘要: dremio 对于文件系统支持异步读以及cache 处理,对于cache 的处理只有在开启异步读的时候 参考配置 开启异步数据访问 cache 配置 内部处理 实际上都使用的是ce cache 包中的,getAsyncByteReader 的调用,此方法是标准FileSystem的一个方法 File 阅读全文

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

2024年3月27日

dremio QueryContext 简单说明

摘要: QueryContext 包含了查询相关的一些信息,官方代码注释说应该重名为PlanningContext,主要是在fragment contexts 中使用 接口扩展 如下图,实现了ResourceSchedulingContext以及OptimizerRulesContext 主要实例化的地方 阅读全文

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

2024年3月26日

jinja2 通过Template. make_module 进行动态macro 创建以及macro 方法调用

摘要: 实际属于一个小技巧,可以实现比较灵活的jinja2 扩展,是从dbt 对于macro 的处理部分学习到的 参考代码 app.py from jinja2 import Environment env = Environment() # 定义macro 的内容 macro_template = """ 阅读全文

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

jinja2 实现return macro

摘要: 设计上来自dbt 的return macro, 实际上就是一个macro 会触发一个exception 我们对于这个exception 单独捕获处理下 returnmacro 函数开发 return_macro 函数定义 def return_macro(values): raise MacroRe 阅读全文

posted @ 2024-03-26 15:24 荣锋亮 阅读(18) 评论(0) 推荐(0) 编辑

dbt return macro 内部实现简单说明

摘要: jinja2 默认是没有return macro 的,dbt 在实现的时候比较有意思,通过一个exception 触发的,以下是简单说明 参考使用 一个包含return 的macro {% macro demoapp(name,version) %} {% if version =='v1' %} 阅读全文

posted @ 2024-03-26 15:24 荣锋亮 阅读(6) 评论(0) 推荐(0) 编辑

cloudquery 开源ETL 框架

摘要: cloudquery 开源ETL 框架提供了基于plugin 的数据集成模式 包含的特性 开源,提供了sdk 快速,基于golang 轻量级协程,基于apache arrow 部署方便,就是一个独一的二进制文件 可扩展,cloudquery plugin 是无状态的,可以方便的扩展 说明 cloud 阅读全文

posted @ 2024-03-26 15:24 荣锋亮 阅读(128) 评论(0) 推荐(0) 编辑

minio __XLDIR__ 后缀文件夹问题

摘要: 最近在通过debug 模式调试dremio 文件写入处理的时候,发现dremio 目录包含了不少__XLDIR__ 后缀的对象(里边是空的,只是后缀包含了__XLDIR__ ) 参考图 问题 目前此问题minio github 上也有一些信息,理论上应该是解决了,但是我目前使用的是比较新的版本的,大 阅读全文

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

2024年3月25日

dremio ce kernel 提供的一些配置类

摘要: dremio ce kernel 包提供了不少对于dremio的扩展类,比如规则,parquet 读取,以及反射处理的,以下是一个简单说明 参考配置 标准的sabot-module.conf 文件 dremio: { classpath.scanning { packages += "com.dre 阅读全文

posted @ 2024-03-25 08:00 荣锋亮 阅读(5) 评论(0) 推荐(0) 编辑

2024年3月24日

dremio cloud cache 简单说明(二)

摘要: 以前我介绍过关于cache 的CacheFileSystemWrapper,以下说明下关于cache 缓存以及加载的处理 参考配置 主要是在executor 节点的 services: { coordinator.enabled: false, coordinator.master.enabled: 阅读全文

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

2024年3月23日

dremio AsyncStreamConf 简单说明

摘要: AsyncStreamConf 主要是关于异步以及cache 配置属性的参数配置,dremio 存储扩展不少都实现了此接口 参考实现 使用的地方 整体使用 存储插件基本都会使用到,包含了一些reader,同时还有文件系统的包装处理 ce CacheFileSystemWrapper 的使用 这个是d 阅读全文

posted @ 2024-03-23 08:39 荣锋亮 阅读(8) 评论(0) 推荐(0) 编辑

2024年3月22日

dremio 官方对于软件版ha 以及扩展部署的参考方案

摘要: 关于dremio 实际大规模部署的记录,内容来自官方文档 dremio 组件架构参考图 此图包含了dremio 的ha 以及扩展,包含了主备Coordinator(故障转移的) 提高查询性能的Coordinator,以及进行实际查询的执行器此部署中依赖lb,共享存储(nfs 类的),zk (协调选举 阅读全文

posted @ 2024-03-22 09:28 荣锋亮 阅读(28) 评论(0) 推荐(0) 编辑

aiohttp unix socket 启动简单说明

摘要: aiohttp 官方推荐了不少部署模式,以下是关于unix socket 部署的简单说明 参考配置 web.py from aiohttp import web import argparse parser = argparse.ArgumentParser(description="aiohttp 阅读全文

posted @ 2024-03-22 08:24 荣锋亮 阅读(9) 评论(0) 推荐(0) 编辑

soda-data dremio 集成使用

摘要: 以前简单介绍过soda 数据质量工具,以下是关于dremio 集成的一个说明 环境准备 dremio dremio 基于docker 部署,具体可以参考https://github.com/rongfengliang/dremio_cluster_docker-compose soda soda 包 阅读全文

posted @ 2024-03-22 08:00 荣锋亮 阅读(44) 评论(0) 推荐(0) 编辑

2024年3月21日

soda 数据质量测试工具

摘要: soda 数据质量测试工具,可以方便的集成到ci/cd 中,同时支持的数据库也不少,soda 同时还提供了一个强大的metrcis 检查语言基于yaml 配置文件就可以实现强大的数据质量检测(也支持输出数据格式为json,方便分析) 说明 soda 同时也提供了data contract 的支持,对 阅读全文

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

2024年3月20日

dremio 自定义登陆以及简单sso

摘要: 一个简单的dremio 集成自己外部登陆的,处理方法是通过nginx 进行proxy 同时开发自己的login 服务,此服务调用的dremio login api 对于自己的登陆页面调用自己开发的login api,然后将登陆信息写入到localstorage 中,之后进行一个dremio ngin 阅读全文

posted @ 2024-03-20 12:26 荣锋亮 阅读(50) 评论(0) 推荐(0) 编辑

dremio python odbc & pandas 集成示例代码

摘要: 主要是一个记录,方便后续使用 参考代码 代码 import pyodbc import pandas host = "localhost" port = "32010" user = "admin" password = "admin123" ssl = "false" schema = "s3v2 阅读全文

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

2024年3月19日

maven plugin debug 简单说明

摘要: 有些时候我们希望对于maven plugin 进行调试(可能有bug),以下是一些简单说明 玩法 使用mvnDebug 直接替换mvn clone 或者将maven plugin 的jar 放到项目的classpath 中 添加remote jvm debug 并配置地址为mvnDebug提供的地址 阅读全文

posted @ 2024-03-19 08:01 荣锋亮 阅读(140) 评论(0) 推荐(0) 编辑

2024年3月18日

dremio SplitOrphansCleanerService 简单说明

摘要: SplitOrphansCleanerService 目前主要是清理一些孤立的split 服务(主要是对于namespaceservice) SplitOrphansCleanerService创建 DACDaemonModule 中,可以看出是分布式master 角色启动的(实际就是master 阅读全文

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

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 124 下一页

导航