blob: 9f0b015bf40ced3e75ed8108a6c39682029f52cf [file] [view]
# Table / SQL Connector
The remoting SQL connector is packaged as the fat-jar `flink-sql-connector-rocketmq`
(identifier `rocketmq`).
## Creating tables
Required options for a source table: `rocketmq.client.endpoints`, `rocketmq.source.topic`,
`rocketmq.source.group`.
```sql
CREATE TABLE rocketmq_source (
`id` BIGINT,
`name` STRING,
`message` STRING
) WITH (
'connector' = 'rocketmq',
'rocketmq.client.endpoints' = '127.0.0.1:9876',
'rocketmq.source.topic' = 'flink-source',
'rocketmq.source.group' = 'GID-flink'
);
CREATE TABLE rocketmq_sink (
`id` BIGINT,
`name` STRING,
`message` STRING
) WITH (
'connector' = 'rocketmq',
'rocketmq.client.endpoints' = '127.0.0.1:9876',
'rocketmq.sink.topic' = 'flink-sink',
'rocketmq.sink.group' = 'PID-flink'
);
```
For ACL-enabled instances add `'rocketmq.client.accessKey'` / `'rocketmq.client.secretKey'`
(and `'rocketmq.client.namespace'` where applicable).
All `rocketmq.client.*`, `rocketmq.source.*` and `rocketmq.sink.*` options listed in
[remoting-connector.md](remoting-connector.md) can be used in the `WITH` clause.
## Available metadata
Read-only columns must be declared `VIRTUAL`.
| Key | Data type | R/W | Description |
| --- | --- | --- | --- |
| `topic` | STRING NOT NULL | R | Topic name of the RocketMQ record |
```sql
CREATE TABLE rocketmq_source (
`topic` STRING METADATA VIRTUAL,
`id` BIGINT
) WITH (
'connector' = 'rocketmq',
'rocketmq.client.endpoints' = '127.0.0.1:9876',
'rocketmq.source.topic' = 'flink-source',
'rocketmq.source.group' = 'GID-flink'
);
```
## Notes
- `rocketmq.source.api.new.enable` (default true) selects the FLIP-27 source; setting it to
false falls back to the legacy `SourceFunction` path, which has no FLIP-27 fault-tolerance
integration and is not recommended.
- In assign mode, tag / SQL92 filters are evaluated on the client side.
- Message keys can be derived from columns via `rocketmq.sink.key.columns`; a dynamic tag column
via `rocketmq.sink.tag.dynamic.enable` + `rocketmq.sink.tag.dynamic.column`.