流数据分析使用CREATE TABLE作为输出结果数据的格式定义,同时定义数据如何输出到目的数据存储中。

创建结果表的语法如下:


CREATE TABLE tableName
    (columnName dataType [, columnName dataType ]*)
    [ WITH (propertyName=propertyValue [, propertyName=propertyValue ]*) ];

消息路由

示例:

create table edgehub_output (
    productKey varchar,
    deviceName varchar,
    temperature int,
    productTime timestamp,
    inputTime timestamp,
    outputTime timestamp,
    delayTime bigint
) with (
    type = 'custom',
    class = 'com.alibaba.blink.streaming.connector.edgehub.sink.EdgeHubTableSink',
    topic = '/sys/streamcompute/high_temperature'
);

WITH参数说明如下:

参数 描述
type 固定值custom,与class共同使用,表示输出消息到边缘端。具体的消息流转方式,需要您在控制台配置消息路由规则。
class 固定值com.alibaba.blink.streaming.connector.edgehub.sink.EdgeHubTableSink,与type共同使用,表示输出消息到边缘端。具体的消息流转方式,需要您在控制台配置消息路由规则。
topic 消息流转到的目的topic,根据需求自定义参数值。

RDS for MySQL

示例:

create table db (
    productKey varchar,
    deviceName varchar,
    ts timestamp,
    temperature int
) with (
    type = 'rds',
    url = 'jdbc:mysql://${host}:${port}/${dbName}',
    tableName = '${tableName}',
    userName = '${userName}',
    password = '${password}'
);

WITH参数说明如下:

参数 描述
type 固定值rds,表示结果表的类型为RDS。
url RDS数据库地址,取值为jdbc:mysql://${host}:${port}/${dbName}。其中:
  • host:MySQL数据库host地址。
  • port:MySQL数据库端口号。
  • dbName:数据库名。

示例: jdbc:mysql://192.168.1.5:3306/myDB

tableName 表名。
userName 数据库用户名。
password 数据库密码。

更多参数介绍,请参考创建云数据库结果表中RDS相关参数说明。

File

示例:

create table print_sink (
    productKey varchar,
    deviceName varchar,
    eventCode varchar,
    ts timestamp,
    temperature int
) with (
    type = 'custom',
    class = 'com.alibaba.blink.connector.file.FileSink',
    tag = 'prop_filter_b',
    filePath = '/linkedge/run/debug/prop_filter_b.txt'
);

with参数说明如下:

参数 描述
type 固定值custom,与class同时使用,表示输出消息到文件。
class 固定值com.alibaba.blink.connector.file.FileSink,与type同时使用,表示输出消息到文件。
tag 可选参数,表示为输出的消息设置标签。
  • 若设置该参数,表示每条输出的消息前都附带该参数的取值。
  • 若无需为输出消息设置标签,则删除参数。
filePath 输出消息的目的文件路径。

示例表示,将消息输出到本地/linkedge/run/debug/prop_filter_b.txt文件中,并在每条输出消息前带prop_filter_b标签。