You need to enable JavaScript to run this app.
导航
Print
最近更新时间:2025.01.14 17:41:37首次发布时间:2022.09.08 17:27:42

当您需要检验作业是否可以正常运行、逻辑是否正确时,为了减少外部系统开销和避免干扰因素,可以选择使用一些调试专用的 Connector。
Print 连接器是一个系统内置的调试专用结果表,可以将作业结果输出并打印到 Stdout(标准输出)日志中。

注意事项

请不要在正式环境的任务中使用 Print 调试连接器,会影响任务性能,存在写满磁盘的风险。

DDL 定义

CREATE TABLE print_sink (
    name String,
    score INT
 ) WITH (
     'connector' = 'print',
     'print-identifier' = 'out',     --为输出数据设置的前置标识符。
     'print-sample-ratio' = '0.01'      --输出的采样率。
 );

WITH 参数

参数

是否必选

默认值

数据类型

描述

connector

(none)

String

指定使用的连接器,此处是 Print 连接器。

print-identifier

(none)

String

为输出数据设置一个前置标识符,以便更准确的分辨打印数据。

print-sample-ratio


(Flink 1.11必填)

0.01

Double

输出的采样率,取值范围为 0~1。
说明

  • 输出采样率仅 Flink 1.11 引擎版本支持,Flink1.16 版本不支持。在 Flink 1.11 引擎版本中必须设置该参数。
  • 采样率设置为默认值 0.01,表示每 100 条数据输出一条;设置为 1,表示每条数据都输出。

sink.parallelism

(none)

Integer

并行度。与上下游算子的并行度保持一致。

说明

并发度建议设置成 1,这样可以避免每个 TaskManager 的 Stdout 都输出内容。

示例代码

CREATE TABLE datagen_source (
     siteid INT,
     citycode SMALLINT,
     username VARCHAR,
     pv BIGINT
     )
WITH (
  'connector' = 'datagen',
  'rows-per-second' = '5',                
  'fields.username.length' = '30',            
  'fields.siteid.max' = '1000',   
  'fields.siteid.min' = '100'        
);
CREATE TABLE print_sink (
    siteid INT,
    citycode SMALLINT,
    username VARCHAR,
    pv BIGINT
    )
WITH (
     'connector' = 'print',
     'print-identifier' = 'out',
     'print-sample-ratio' = '0.01'    
);
INSERT INTO print_sink
SELECT * FROM datagen_source;

常见问题

如何查看 Print 输出数据结果?
目前支持两种方式查看 Print 输出结果:可以在控制台的 TaskManager 运行日志中查看;也可以在 Flink UI 的 Stdout 输出日志中查看。

说明

如果没有查看到 Print 输出结果,有可能是抽样频率(print-sample-ratio)设置太小所导致。

  1. 在项目左侧导航栏选择任务运维 > 任务管理
  2. Flink任务 页签下,筛选目标任务,然后单击目标任务的名称。
  3. 日志页签下,选择查看 TaskManager 日志,然后单击日志。
    Image
  4. 根据您设置的输出数据前置标识符搜索日志,然后查看 Print 输出结果。
    Image