HuggingFists系统功能介绍(3)--流程管理

流程管理

    下面我们进入流程管理。流程管理用于定义及管理我们采用低代码方式开发的各种ETL以及数据分析流程。

流程列表

        界面的左侧部分为流程的分组树,当定义的流程逐渐变多或者多人协同使用系统时,可以通过分组对流程进行更有序的管理。点中分组,可以在界面的右侧以列表形式看到分组下的所有流程。点中单个流程,可以修改、导出、复制、移动流程,还可以查看流程的作业执行历史以及流程的所有历史版本。

        HuggingFists中的流程支持草稿与发布版两种状态,草稿状态的流程可以随时编辑调整,一旦被发布则不再允许改变。草稿状态的流程只允许进行调试运行,但流程发布后,则允许在任务管理模块创建各类作业来运行流程了。

流程定义

        下面我们点击“新增流程”按钮,创建一个流程。流程类型为“执行图流程”;业务类型根据需要选择“数据处理”或“数据分析”;计算框架选择“单机引擎”。HuggingFists社区版只支持“单机引擎”,即一个流程运行时只能使用一台机器的CPU及内存资源的引擎。而其企业版则还可以选择Spark批计算引擎以及Flink流计算引擎,可以使用集群的算力,用于处理更大规模的数据。最后,填写流程名称,选填描述信息点击“确定”按钮,创建流程,进入流程的定义界面。

流程定义界面

        流程定义界面从左至右分成三个部分,最左侧是算子树区、中间是流程定义面板区、最右侧是算子属性+帮助区。

        使用者根据流程编写的目的,从左侧的算子树中选取合适的算子,并将其拖拽到中间的面板区域;选中算子,在右侧的算子属性+帮助区设置算子运行所需的相关参数。并根据算子在流程执行中的先后顺序,在前置算子的输出端口与后置算子的输入端口间建立数据流连接,表示前置算子执行结束后,数据流流向后置算子。

        流程定义时,点击算子的输出端口,可以看到算子输出数据集的结构;点击算子的输入端口可以看到算子可接受的数据集的结构。当前置算子的输出结构与后置算子的输入结构不兼容时,无法建立起二者的数据流转关系。另外,点中算子的任何端口时,都可以看到界面右侧的帮助区会同步定位信息到端口的相关说明,使用者可快速了解端口的相关信息。与此同时,我们可以看到对应的端口附近会浮出一个小的窗口,通过该窗口的按钮,我们可以为端口设置断点,也可启用/停用、删除断点。HuggingFists提供的断点与C、Java等编程语言提供的调试断点含义相同,使用者在进行流程定义时,可以使用断点来调试发现流程定义中的问题,这一功能对于有编程经验的数据科学从业者来说非常有帮助。另外,HuggingFists提供的可以查看端口数据集结构的功能,其本质上与调用函数时,知道函数的调用参数与返回值相同,在同类型的工具中,HuggingFists是目前为数不多在B/S技术框架下能够提供此功能的工具。

        为了能够快速查看流程的执行结果,流程定义面板的右侧边界的上半区,有一个数据执行结果的快速浏览接口。当将算子的输出端口与该结果端口连接后,输出端口输出的前1000条数据将可在查看流程执行结果时,直接查看到,可通过查看执行结果进一步确认流程定义的逻辑正确性。除此外,我们还可以看到,在流程定义面板的左边界,以及面板的右侧边界下半部分也有端口。这两侧的端口分别用于完成接受外界输入的数据流,以及写出流程执行的结果。HuggingFists支持使用者通过连接面板两侧的端口,将一个流程定义为一个函数,以便在其它流程中被调用、复用。关于如何定义子流程、如何使用变量、算子端口多连接注意事项等高级用法,我们将在后续的介绍中给出,在这里就不进行深入探讨了。

流程调试

        流程定义结束,保存流程,调试运行流程。在流程定义面板区的上侧,我们能看到一排按钮。左侧四个按钮用于实现流程的运行及调试运行。其中带有“虫子”图案的功能按钮代表以调试方式运行流程,当使用者为算子端口设定了断点的话,当有数据流运行到该端口时会触发断点,使用者可进一步操纵“跳过”断点或者直接跳出到后续的断点。HuggingFists支持设置条件断点,当断点被触发时,可以查看触发断点的数据集。关于如何断点调试,具体可以参看视频《技术控,看这里,一款支持断点调试的低代码科学计算工具》。不带虫子图案的按钮则表示直接运行流程。

        这四个按钮中,左侧的两个按钮分别表示运行及调试运行整个流程;右侧的两个按钮则表示运行及调试部分流程。使用者选中某个算子,点击右侧两个按钮中的任意一个,表示本次以选中算子作为运行的终点,该算子后的算子以及与该分支流程不相关的分支流程都不会被触发运行。这个功能对于较为复杂的流程而言非常有用,可以针对性的调试运行一个有问题的流程片段,即可以节省流程运行时占用的资源,又可提高流程运行的效率。

流程运行控制台

流程运行状态

        点击“运行”按钮,运行流程。通过流程运行“设计”页的“控制台”可以看到流程运行输出的日志;通过“运行状态”可以看到每个算子的运行时长,端口读入或写出的数据集合数、记录数等信息。

   

算子结果数据列表

   

算子结果数据统计

   

算子结果图表

        切换到“结果”页的“数据”页,使用者可以看到在结果端口输出的数据,允许存在多个结果端口,支持同时查看流程中多个不同算子的输出结果,方便查看、对比。HuggingFists支持对结果数据按照列表、数据特征统计以及图表等多种不同方式进行展示。

        再切换到“输入/输出”页,该页展示了流程输入/输出所涉及的文件、表格等信息,并记录了输入/输出的字节大小及记录条数。

        在这里,我们还能看到有一个”模型”页,HuggingFists的社区版并不包含此页。它是Sengee框架的一个组成部分。当流程用于做数据挖掘且进行分类、聚类等模型训练时,会将训练好的模型输出到此页面,这里我们不做详述了,有类似需要的朋友可以联系我们详细了解。

        重复我们之前介绍的步骤。当使用者认为数据处理或分析流程已经满足功能需求,可以切入生产环境了。使用者可以点击流程定义面板上侧按钮最右侧的“纸飞机”按钮,发布流程。流程发布后,使用者就可以在作业管理中调度流程完成业务的生产需要了。

小结

        流程管理是HuggingFists提供的最核心的功能,它允许使用者可视化的编写数据处理与分析的流程。对于使用人员而言,其降低了学习和使用的门槛;对工程实施而言,其能够非常便捷的随需而变,大幅降低实施成本;对客户而言,其能够快速满足客户不断发展的业务需求,为客户带去价值;对于管理者而言,工程师的工作成果有了可视化表达,方便测试、验证,不在是代码方式的黑盒表达,人员流动交接时工作内容清晰可辨。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值