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

创建结果表

更新时间:2017-12-29 15:19:52

流计算使用RESULT TABLE作为输出结果数据的格式定义,同时定义数据如何写出到目的数据存储。流计算将结果表简单分为两类:Append类型和Update类型

  • Append类型。使用INSERT INTO语法即可支持Append类型写入,包括DataHub、未定义主键的RDS等均为Append类型的数据存储,即流计算的结果将直接追加到目的数据存储,而不会修改目的存储中现有的数据。

    注: 使用INSERT INTO语法,RESULT表不能定义PRIMARY KEY,否则流计算提交运行阶段将报错!

  • Update类型。使用REPALCE INTO语法即可支持Update类型写入,包括定义主键的RDS、TableStore等均为Replace类型的数据存储,即流计算的结果将Insert(如果相同Key数据不存在)或者Update(如果相同Key数据已存在)

    注: 使用REPLACE INTO语法,RESULT表必须定义PRIMARY KEY,否则流计算提交运行阶段将报错!

当前流计算各类存储对于写入支持如下:

类型 追加写入 更新写入
DataHub 支持 不支持
TableStore 不支持 支持
RDS 支持 支持
AnalyticDB 不支持 支持

结果表代码如下:

  1. CREATE RESULT TABLE table_name
  2. [(col_name data_type, ...[, PRIMARY KEY(col_name, ...)])]
  3. [WITH (property_name=other_property_value,...)];
  4. data_type
  5. : primitive_type
  6. primitive_type
  7. : INT
  8. | BIGINT
  9. | DOUBLE
  10. | STRING

示例

我们定义了一个DataHub结果表,然后将数据写入DataHub结果表:

  1. create result table stream_result (
  2. name STRING,
  3. value STRING
  4. ) WITH (
  5. type='datahub',
  6. endpoint='http://dh-cn-hangzhou.aliyuncs.com',
  7. accessId='accessId',
  8. accessKey='accessKey',
  9. projectName='project',
  10. topic='topic'
  11. );
  12. INSERT INTO stream_result
  13. SELECT
  14. name,
  15. value
  16. FROM
  17. stream_source;
本文导读目录