- 博客(26)
- 资源 (2)
- 收藏
- 关注
原创 KubeCon + CloudNativeCon 2023 大会部分LLM相关分享
KubeCon + CloudNativeCon 2023 大会部分LLM相关分享。
2023-09-28 01:03:49 296
原创 go源码系列 database/sql.go SQL 包解析
在github.com/go-sql-driver/mysql包内。打开链接,建立 tcp socket 链接。
2023-08-30 17:52:04 172
原创 汇编之调试环境搭建及调试步骤详解
学习一门语言,上手上机调试是非常重要的,它会带来一个感性的认知,所以学习汇编第一件事,推荐把开发环境搞起来。: 程序中的汇编代码需要转译为处理器指令,在提交给处理器执行 ,nasm负责这个事:因为处理器指令无法像java,go语言直接跑在现有的mac,window等笔记本机器上,是直接跑在处理器上的命令,所以需要安装模拟原生处理器的软件。bochs可模拟多种处理器,包括x86和x86-64的处理器模拟器。: Bochs模拟器需要调用显示库代码来渲染输出界面。
2023-06-03 14:52:09 1813 1
原创 shell学习心得笔记系列一 文本处理三剑客
函数定义和使用:函数定义的两种语法:第一种: name() {command1commandn } 第二种: function name {command1commandn } 函数使用:调用函数直接使用函数名即可,相当于一条命令,但不显示指定参数* 函数内部直接使用参数 $1 $2 .. . $n * function $1 $2 定义第一个函数: function hello == > hello() {定义第二个函数: function print_num {i
2023-04-09 17:34:53 719
原创 airflow源码精读 十三
根据配置信息,找到任务taskinstance指定的yaml模版,以及相关参数组装出pod执行的必要信息,推送到k8s环境执行运行,等待结果。思路非常的清晰,主要参考学习了这篇,是一篇付费文章,物超所值,感兴趣的可以购买,里面还有关于airflow优化的部分。带注解的airflow代码,分支:v1-9-stable。Airflow 源码解析和性能优化。airflow源码解读。
2023-03-19 23:03:51 368
原创 airflow源码精读 十二
airflow链接hive ,重点在于airflow的运行机器环境和hive的连通是没有问题的,这是实际开发中非常重要的点和前提。3.理解hive,整体的思路就是连接上hive,拼接hql,通过beeline在hive内运行sql 并返回运行结果,只是把在hive上执行的hql改成了airflow的python code。1.维护hive_conn连接信息,参考conn连接配置。2.理解hiveoperator。
2023-03-19 22:43:49 286
原创 airflow源码精读十一
首先做任务的依赖检查 _check_and_change_state_before_execution,任务出错,则调用handle_failure对错误进行处理——是否重试等操作.如果通过,则将任务的状态更新为running,执行任务。任务的实例的执行入口为run.
2023-03-19 22:40:43 606
原创 airflow源码精读 十
SchedulerJob 重载实现自己的 _execute 逻辑——初始化类 DagFileProcessorManager,传入参数——DAG 目录、DAG 目录中的文件列表、处理 DAG 的最大线程数、处理时间间隔和处理次数等,然后将 DagFileProcessorManager 实例作为参数传入方法 _execute_helper.刷新文件夹,找到新增和废弃的文件。对于新增的文件,放入DagFileProcessorProcess进行解析,对于丢弃文件,删除数据库中记录。
2023-03-11 13:43:03 470
原创 airflow源码精读 九
回填任务主要用于运行过去的任务,具体为创建多个dagrun,并创建多个taskinstance,然后将taskinstance发送到执行器,期间发送心跳,用于与外界交互,同时通过监控数据库的状态来监控整个任务的运行情况.在 _execute 方法中异步启动 task_runner,通过循环监控任务运行返回状态码和发送心跳信号。当要终止job时,可以修改数据库中任务实例的状态,也可以通修改LocalTaskJob的状态来实现。核心属性taskrunner,任务运行器在运行任务时,会打开一个新的进程。
2023-03-11 13:42:07 270
原创 airflow源码精读 八
基于一种生产消费者模型,在一台服务器内,基于LocalExecutor进程的锁安全,启动多线程,LocalExecutor接受taskinstance放入self.queue队列,多个localWoker去线程安全的消费队列中的元素。前端发送一个停止任务的信号,则可以后端直接修改数据库中任务的状态,当发生心跳回调时,查询数据库中任务的状态,然后停止任务。由于有的任务需要长期执行,因此需要将任务的状态写入数据库,以方便监控;1,任务运行期通过心跳机制,检测任务的存活以及对任务进行干预。
2023-03-11 13:41:26 299
原创 airflow源码精读 七
执行命令 airflow worker,所谓 Worker 其实是 Celery 的工作进程,一个 Worker 根据 concurrency 启动若干个守护进程,用于任务的并发执行。CeleryExecutor用于远程执行任务,多进程模式,可分布在不同服务器间,通过共同连通的队列(redis,mq消息队列),实现分布式的生产者消费者模式,CeleryExecutor接到任务提交到分布式celery任务队列中,celery的woker消费指定队列的任务,执行其命令。正在执行的任务(self.runing)
2023-03-11 13:40:44 294
原创 airflow源码精读 四
Airflow 是基于分布式任务队列 Celery 基础上的定时调度系统,它将不同的任务类型抽象成 Operator,并提供 API 编排各任务之间的依赖关系和配置属性,形成 DAG,从而简化任务提交和维护成本。同时 Airflow 还提供任务重跑、标记成功、查看日志等的可视化操作 UI 和更为灵活丰富的客户端命令行接口。
2023-03-11 13:39:59 307
原创 airflow源码精读 六
trigger_rule【all_success | all_failed | all_done | one_success】表示对于上游算子 的依赖;接受的cli命令通过在args根据给定命令匹配到指定的Arg(tuple数组),在以Arg名称去subparsers匹配到相应的执行函数func。wait_for_downstream表示当且上次的dagrun的下游算子完成之后,才能触发该次算子运行。算子本身可以是一个dag图,运行时会占用一定资源,以虚拟的。算子与算子之间,不能直接通信。
2023-03-11 13:39:37 340
原创 airflow源码精读 五
Scheduler 调度器调度器是整个airlfow的核心枢纽,负责发现用户定义的dag文件,并根据定时器将有向无环图转为若干个具体的dagrun,并监控任务状态。Dag 有向无环图Job有向无环图用于定义任务的任务依赖关系。任务的定义由算子operator进行,其中,BaseOperator是所有算子的父类。Dagrun 有向无环图的运行实例在调度器的作用下,每个有向无环图都会转成任务实例。不同的DagRun之间用 [dagid+ 执行时间execution date] 进行区分。
2023-03-11 13:38:51 301
97 Things Every Software Architect Should Know.mobi
2018-03-23
linux内核参数
2015-09-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人