前言
本篇文章从代码层面介绍下
1、python算法的运行框架
2、举例说明:数据预处理算法实现过程
本文不涉及任何公司代码
流程图中的Python3.7相应的类名已标注 可根据类名找到对应的源码
Python算法运行机制
整体流程
下面都是对某一个环节的具体分析
创建Job事件
条件锁Condition
可重入锁
通过队列交换事件数据
注册事件
进程池、线程池执行过程
监听上下文
线程池运行机制
数据预处理
综上 再次梳理算法大致的调用流程
调用python算法接口 程序代码经历了如下过程
- 解析请求参数组装成任务对象
- 创建任务事件和事件数据交换队列
- 向进程池提交任务执行请求
- 进程使用线程池中的一个线程去执行具体的算法任务
- 执行算法需要输入数据和输出数据
用python来做数据处理的弊端
大数据量用python pandas处理就不合适了
比如上亿级别的量
通过Flink流式处理来做数据处理是一个不错的选择 具体使用请参考
Flink流式处理百万数据量CSV文件
后记
敬请期待后续文章
1、python进程池运行机制
2、其他算法运行机制