本文介绍: 笔者的的SailWorks模块包含离线分析功能。离线分析的后台实现,包含调度引擎、执行引擎、计算引擎和存储引擎。计算和存储引擎由Hive提供,调度引擎和执行引擎由我们自己实现。调度引擎根据DAG图和调度计划,安排执行顺序,监控执行过程。执行引擎接收调度引擎安排的任务,向Yarn申请容器,在容器中执行具体的任务。在容器中执行的任务我们是用Python语言实现的。在实现这个组建时,笔者是对着python的基础语法教程,边学边写。
1. 背景
笔者的大数据平台XSailboat的SailWorks模块包含离线分析功能。离线分析的后台实现,包含调度引擎、执行引擎、计算引擎和存储引擎。计算和存储引擎由Hive提供,调度引擎和执行引擎由我们自己实现。调度引擎根据DAG图和调度计划,安排执行顺序,监控执行过程。执行引擎接收调度引擎安排的任务,向Yarn申请容器,在容器中执行具体的任务。
在容器中执行的任务我们是用Python语言实现的。在实现这个组建时,笔者是对着python的基础语法教程,边学边写。基本实现离线分析的功能之后,就开始做项目,做实时计算,开发大数据平台的其它功能模块,一转眼已经过去将近两年,现回过头来继续完善离线分析功能,对执行引擎中的python执行组件进一步完善,扩展。为此再进阶一步系统学习一下Python,在最近将写一些Python相关的笔记。
2 . 类(Class)
这里我们不去细究Python底层到底是怎么做的,主要是从现象总结一些规律,以更方便记住。欲看底层逻辑原理,可以看此B站视频【python】你知道定义class背后的机制和原理嘛?当你定义class的时候,python实际运行了什么呢?
先看一下下面的代码:
从中我们可以总结出以下规律:
3. 描述器(Descriptor)
官方文档:《描述器使用指南》
3.1 第2条实践
3.2 内部机制探索
4. 装饰器(decorator)
4.1 函数和类形式上的等价性
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。