3.3.1 VO-O语法- 概念术语(二)

可先阅读下面的文章了解背景:

可视化编程语言外篇--探索性思考-优快云博客

算子

算子是VO语言中最核心的概念。它是一个面向数据处理,具有特定功能且以图元形式表达的计算单元。可以将其理解为通用编程语言中的函数,每个算子都拥有特定的功能。算子通过输入端口约定其可以处理的数据结构,输出端口约定其返回结果结构。除此外,每个算子都有一些控制参数,用来控制算子的计算方式。有关算子的详细介绍见《3.3.2VO-O语法 - 算子》。

数据流程

由1~n个算子通过数据连接组成的Pipeline或Graph被称为一个数据流程。数据流程由算子组成用于实现更大级别的数据处理或分析功能,可被等价理解为通用编程语言中程序的概念。数据流程支持嵌套引用,即在一个数据流程中引用其它的数据流程。可以理解为数据流程是一个由算子编写而成的,更高级别的函数。

数据流程在被调度运行时会自动采用效率优先的调度方式,为每个算子分配一条独立的运行线程,以流水线的方式并行处理数据集。VO开发者不必再关心复杂的线程管理及同步调度等问题,开发的流程可直接达到生产级的运行效率。关于数据流程的详细介绍可参见《3.3.2VO-O语法 - 数据流程》。

另外,被调度运行的算子并非时刻都在工作模式下,即正在进行相应的数据处理。算子进入工作模式一般有两种触发方式,一种是数据触发,即当数据输入端口有数据时会触发算子工作;一种是控制触发,即当算子的控制输入端口收到控制信号时工作。当算子同时拥有控制连接和数据连接时,两个触发条件必须同时满足才会让算子进入工作模式。即在算子收到控制信号前,即使算子收到了很多数据,也不会进入工作模式;反之亦然。

控制流的引入可以为并行运行的算子加入同步控制,比如要求流程执行时,必须等数据表被清空后才能执行表插入操作。那么可以为表清除算子与表写入算子加入控制连接,确保表清除前不会有数据被插入。

同时支持数据流与控制流使得VO语言可以实现更丰富、复杂的数据应用。能够覆盖目前互联网中绝大多数数据科学、Workflow以及RPA类工具的应用场景。

参数变量

在进行数据流程编写时,很多算子的控制参数希望能够在执行数据流程时再指定。这样就可以在不同的参数场景下复用流程了。类似编写函数时,声明了函数的入参类型。

VO - O语法支持控件变量、占位符变量以及上下文变量三种类型的参数变量。

控件变量

控件变量是一种绑定了参数输入控件的变量形式。它支持将算子的值类型的参数连同参数的控件一起打包成一个变量。在执行数据流程为变量设置值时,控件变量将以变量的控件类型展示界面,并接收使用者设置的变量值。该种模式的变量,可以让使用者在设置流程的变量时,不必担心输错参数值。控件变量的作用域是数据流程。

占位符变量

占位符变量的格式如下: ${varName}。varName为变量名。算子参数的值都可以先都用占位符变量进行代替,然后这些值必须在数据流程执行前被设定好。以确保流程执行时,所有算子参数的值都是明确的。占位符变量的作用域也是数据流程。与控件变量的最大差别就是,当为占位符变量设置值时,无法对值的有效性进行检验;而控件变量可以做到对输入值进行有效值校验。

上下文变量

上下文变量的格式如下:@{varName}。varName为变量名。上下文变量的作用域为算子,即不同算子的上下文变量即使同名,执行时也不会混淆。上下文变量主要用于绑定算子输入数据集中的列信息。比如,数据库读取类算子,其支持使用输入数据集中的信息动态生成一条SQL查询语句。SQL语句格式复杂,输入数据的哪些值作为SQL语句的动态变化参数就需要使用上下文变量来描述了。如:select * from t where id = @{id},这是一种常见上下文变量应用模式。输入算子的数据集中的每条记录的"id"列的值都会替换掉SQL语句的上下文变量,生成一个具体可执行的SQL语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值