随笔分类 -  云运维&&云架构

上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 181 下一页

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

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

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

posted @ 2024-04-03 00:46 荣锋亮 阅读(13) 评论(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 荣锋亮 阅读(97) 评论(0) 推荐(0) 编辑

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

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

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

posted @ 2024-04-02 08:00 荣锋亮 阅读(20) 评论(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 荣锋亮 阅读(22) 评论(0) 推荐(0) 编辑

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

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

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

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

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

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

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

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

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

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

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

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

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

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

上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 181 下一页

导航