全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
流计算

主要概念

更新时间:2017-06-07 13:26:11

阿里云流计算处理的数据来自哪里?如何加载数据到流计算;流计算处理后的结果数据如何继续应用?

阿里云流计算本身不带有业务存储,所有的数据均是来自于外部周边阿里云提供的存储系统持有的数据。目前阿里云支持几类数据存储类型:

  • 流式的数据输入: 为下游流式计算提供流式数据输入,是流计算进行数据处理的数据触发机制,推动流计算持续进行数据计算。每个流计算作业必须至少声明一个流式数据输入源。

  • 静态数据输入: 静态存储为流计算提供了数据关联查询,对于每条流式数据,可以关联外部一个静态数据源进行查询。因此,静态数据输入也被成为维表。

  • 结果表输出: 流计算将计算的结果数据写出到目的数据表,为下游数据继续消费提供各类读写接口。

阿里云流计算支持哪几个流式数据输入?维表输入?结果表输出?

目前支持流式输入表有:

  • 大数据总线(DataHub)

  • 日志服务(LogService)

支持静态输入表有:

  • 表格存储(TableStore)

  • 云数据库(RDS)

  • 分布式数据库(DRDS)

支持输出表有:

  • 大数据总线(DataHub)

  • 日志服务(LogService)

  • 消息服务(MessageService)

  • 分析型数据库(AnalyticDB)

  • 表格存储(TableStore)

  • 云数据库(RDS)

  • 分布式数据库(DRDS)

有关流计算对接的上下游存储生态请参看下图(图片内容较大,请下载后在本地打开):

流计算存储生态

阿里云流计算提供的编程接口是什么?如何编写流式数据处理逻辑?

阿里云流计算提供StreamSQL编写业务逻辑,为流式数据分析定制多种数据处理函数和操作符。以Word Count统计为例,下面给出一个具体的SQL例子:

  1. -- 声明一个流式源表
  2. create stream table stream_source(word string) ;
  3. -- 声明一个目标表
  4. create result table stream_result(word string, cnt bigint) ;
  5. --统计word次数
  6. insert into stream_result select
  7. t.word
  8. ,count(1)
  9. from stream_source t
  10. group by t.word;

单个阿里云流计算作业包含几个部分?

一个静态的流计算作业目前分为几大类静态信息,包括:

  • 代码: SQL代码,用户编写的业务逻辑,流计算作业核心逻辑,其中包括 输入表DDL声明(分为流式输入表、静态输入表)、输出表DDL声明,以及执行业务逻辑的DML。

  • 参数: 参数用来描述作业运行时指标,例如并发量、批处理数据量等信息。

  • 属性: 作业的业务信息,例如创建人、创建时间等相关记录。

我存放的数据不在上述支持的存储列表,如何处理?

如果您所选择的阿里云存储产品不在我们系统支持范围之内,请提交工单告之我们。如果您使用了自建开源存储,需要您将您的数据转移到上述支持的列表存储中。您需要自己搭建相关的转换常驻程序完成上述转换逻辑,例如当前流计算流式数据源输入暂时还不支持阿里云消息服务,那么用户可以选择写应用程序将消息服务中的数据转换为DataHub,再交由流计算读取DataHub进行处理。

本文导读目录