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 = "" ) |
关键字
参数 |
是否必选 |
说明 |
---|---|---|
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" ); |