# Console Sink组件使用说明
# 组件说明
Console Sink是专为开发和测试场景设计的调试工具,无任何必填参数,开箱即用。其核心作用是将数据流输出到控制台日志,帮助您快速验证数据管道连通性。
提示:需要在通用配置中设置“部署方式”。
cluster:数据输出到 Seatunnel 后台日志;
local:数据会输出到 DolphinScheduler 日志(IDE 的运行日志栏)。
cluster:数据输出到 Seatunnel 后台日志;
local:数据会输出到 DolphinScheduler 日志(IDE 的运行日志栏)。
# 配置项说明
| 配置名称 | 数据类型 | 是否必填 | 默认值 | 描述 |
|---|---|---|---|---|
| 节点名称 | String | 是 | Console | 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。确保唯一性。 |
| 节点编码 | String | 是 | 自动生成 | 当前创建的节点编码,以此标识此组件,由用户自定义且不可为空。命名可包含字母、数字、下划线。v确保唯一性。 |
| 日志中打印数据 | Boolean | 否 | 是 | 是否将数据内容打印到日志。设为false则只打印行元数据不打印具体数值。 |
| 数据打印延迟 | Int | 否 | 0 | 每条数据打印间隔(毫秒),流模式下调低输出频率时可用。 |
| 可选参数 | Map | 否 | - | 其他参数,用户可以根据需求进行配置。 |
# 输出格式示例
Console Sink的输出不是简单的System.out,而是结构化日志,典型输出如下 :
2025-02-13 10:01:45,417 INFO ConsoleSinkWriter - output rowType: name<STRING>, age<INT>
2025-02-13 10:01:46,489 INFO ConsoleSinkWriter - subtaskIndex=0 rowIndex=1: SeaTunnelRow#kind=INSERT: John, 25
格式解读:
- subtaskIndex:并行子任务编号(从0开始)
- rowIndex:该子任务处理的第几条数据
- SeaTunnelRow#kind:操作类型(INSERT/UPDATE/DELETE)
- 最后为实际字段值(顺序与schema定义一致)
# 常见注意事项
部署模式影响输出位置:在集群模式下(如通过DolphinScheduler调度),控制台输出可能写入后端服务日志文件而非标准输出 。
性能影响:生产环境请务必移除或禁用Console Sink,大量数据打印会严重拖慢任务。
多表场景:SeaTunnel 2.3.4+支持多表Sink,Console同样支持,无需额外配置。