更新时间:2022-08-12 GMT+08:00

MRS OpenTSDB输出流

功能描述

DLI将Flink作业的输出数据输出到MRS的OpenTSDB中。

前提条件

  • 确保MRS的集群已经安装了OpenTSDB。
  • 该场景作业需要运行在DLI的独享队列上,因此要与MRS集群建立增强型跨源连接,且用户可以根据实际所需设置相应安全组规则。

    如何建立增强型跨源连接,请参考《数据湖探索用户指南》“增强型跨源连接”章节。

    如何设置安全组规则,请参见《虚拟私有云用户指南》中“安全组”章节。

语法格式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
CREATE SINK STREAM stream_id (attr_name attr_type (',' attr_name attr_type)* )
  WITH (
    type = "opentsdb",
    region = "",
    tsdb_metrics = "",
    tsdb_timestamps = "",
    tsdb_values = "",
    tsdb_tags = "",
    batch_insert_data_num = ""
  )

关键字

表1 关键字说明

参数

是否必选

说明

type

输出通道类型,“opentsdb”表示输出到MRS的OpenTSDB。

region

MRS服务所在区域。

tsdb_link_address

MRS中OpenTSDB实例的服务地址,格式为http://ip:port或者https://ip:port。

说明:

配置项tsd.https.enabled为true时,需要使用https,注意https暂时不支持证书认证。

tsdb_metrics

数据点的metric,支持参数化。

tsdb_timestamps

数据点的timestamp,数据类型支持LONG、INT、SHORT和STRING,仅支持指定动态列。

tsdb_values

数据点的value,数据类型支持SHORT、INT、LONG、FLOAT、DOUBLE和STRING,支持指定动态列或者常数值。

tsdb_tags

数据点的tags,每个tags里面至少一个标签值,最多8个标签值,支持参数化。

batch_insert_data_num

表示一次性批量写入的数据量(即数据条数),值必须为正整数,上限为65536,默认值为8。

注意事项

当配置项支持参数化时,表示将记录中的一列或者多列作为该配置项的一部分。例如当配置项设置为car_${car_brand}时,如果一条记录的car_brand列值为BMW,则该配置项在该条记录下为car_BMW。

示例

将流weather_out的数据输出到MRS服务的OpenTSDB中。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
CREATE SINK STREAM weather_out (
  timestamp_value LONG, /* 时间 */
  temperature FLOAT, /* 温度值 */
  humidity FLOAT, /* 湿度值 */
  location STRING /* 地点 */
)
  WITH (
    type = "opentsdb",
    region = "xxx",
    tsdb_link_address = "https://x.x.x.x:4242",
    tsdb_metrics = "weather",
    tsdb_timestamps = "${timestamp_value}",
    tsdb_values = "${temperature}; ${humidity}",
    tsdb_tags = "location:${location},signify:temperature; location:${location},signify:humidity",
    batch_insert_data_num = "10"
);