Alink基本概念

一、名词解释

        1、数据集

                数据集(DataSet)的数据是有界的、个数确定、静止的。

        2、数据流

                数据流(DataStream)的数据是无界的、动态的。

        3、批式处理

                批式数据源组件(Batch Source)读入的数据为数据集(DataSet);

                批式导出组件(Batch Sink)将数据集导出到文件系统或数据库;

                批式算法组件(BatchOperator)的输入和计算结果都为数据集(DataSet);

        4、流式处理

                流式数据源组件(Stream Source)用来接入数据流;

                流式导出组件(Stream Sink)负责将数据流导出,即将数据流导出到文件系统或数据库

                 流式算法组件(Stream Operator)的处理粒度是单条数据,即从输入的数据流中逐条获取数据进行计算,该计算结果为若干条数据,这些数据会进入输出数据流。

                连接流式数据源组件、各个流式算法组件和流式导出组件,构成数据流的管道。

        5、Row 格式

                Alink 将Flink Table 作为数据集和数据流的统一表示,其中数据行的类型 为:                        org.apache.flink.types.Rows

                  Alink为了统一各算法模块间交换数据的格式,确定将Row格式作为各算法处理的单条数据的标准类型;相应的批数据和流数据的类型为Flink Table。

                SQL操作和算法模块间可以通过Flink Table来传递数据。

               类型统一, SQL操作和算法操作就可以出现在同一个工作流中,使用方便。

二、数据处理流程

        数据处理的基本流程三部分:数据源(Source)、算法组件(Operator)和数据导出(Sink),如图:

三、alink基类

1、抽象基类(AlgoOperator) && 派生

        Alink定义组件的抽象基类AlgoOperator,规范了组件的基本行为;

        Alink中的A代表全部算法组件,其都是由抽象基类AlgoOperator派生出来的;

        AlgoOperator派生出了两个基类:用于批式计算及处理场景的批式算法组件和用于流式计算及处理场景的流式算法组件。

        算法输入和输出,大多数情况下都可以用一个表(Table)表示。但有时候需要用多个表,例如:

        1)Graph数据,一般包括Edge Table 和Node Table,这两个表在一起才是完整的表示,输出也是如此;

        2)自然语言方面的常用算法LDA(Latent Dirichlet Allocation)的计算结果为6个Table。

        算法组件包含一个Table类型的成员变量table,用来放置该组件的主要输出结果。

       算法组件也定义了Table类型数组的变量sideTables,用来存储在多表输出的情况下,除主表外的所有其他表。

2、组件的连接——link

        link方式指的是在工作流中通过连线的方式,串接起来不同的组件。

        link()、linkto()  linkFrom:

                link等同于linkTo,可以将link看作linkTo的简写。

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值