TubeMQ
概述
Apache InLong TubeMQ 是一个分布式、开源的 pub-sub 消息传递和流平台, 适合于万亿规模数据。
版本
抽取节点 | 版本 |
---|---|
TubeMQ | TubeMQ: >=0.1.0 |
依赖项
为了设置 TubeMQ Extract 节点,下面提供了使用构建自动化工具(例如 Maven 或 SBT)和带有 Sort Connectors JAR 包的 SQL 客户端的两个项目的依赖关系信息。
Maven 依赖
<dependency>
<groupId>org.apache.inlong</groupId>
<artifactId>sort-connector-tubemq</artifactId>
<version>2.1.0-SNAPSHOT</version>
</dependency>
如何创建TubeMQ抽取节点
SQL API 的使用
使用 Flink SQL Cli
:
-- Create a TubeMQ table 'tube_extract_node' in Flink SQL Cli
Flink SQL>
CREATE TABLE tube_extract_node
(
id INT,
name STRING,
age INT,
salary FLOAT
) WITH (
'connector' = 'tubemq',
'topic' = 'topicName',
'master.rpc' = 'rpcUrl', -- 127.0.0.1:8715
'format' = 'json',
'group.name' = 'groupName');
-- Read data from tube_extract_node
Flink SQL>
SELECT *
FROM tube_extract_node;
InLong Dashboard 方式
TODO
InLong Manager Client 方式
TODO
TubeMQ 抽取节点参数信息
参数 | 是否必须 | 默认值 | 数据类型 | 描述 |
---|---|---|---|---|
connector | required | tubemq | String | 设置连接器类型 tubemq |
topic | required | (none) | String | 设置抽取的topic |
masterRpc | required | (none) | String | 设置TubeMQ master service 地址 |
format | required | (none) | String | TubeMQ 数据类型, 支持 JSON, Avro, etc. For more information, see the Flink format. |
groupId | required | (none) | String | TubeMQ 消费组 |
可用元数据
METADATA 标志用于读取和写入 Tube 消息中的元数据。支持列表如下。
注意 R/W 列定义元数据字段是否可读 (R) 和/或可写 (W)。只读列必须声明为 VIRTUAL 以在 INSERT INTO 操作期间排除它们。
关键字 | 数据类型 | 描述 | 读/写 |
---|---|---|---|
topic | STRING NOT NULL | Tube 消息的主题名称 | R |
consume_time | BIGINT | Tube 消息的消费时间 | R |
数据类型映射
Tube 将消息键和值存储为字节,因此 Tube 没有 schema 或数据类型。Tube 消息按格式进行反序列化和序列化,例如 csv、json、avro。因此,数据类型映射由特定格式确定。有关格式详细信息,请参阅格式页面。