本文为您介绍如何使用Print连接器。

背景信息

Print是用于调试的连接器,允许接收并打印一定数量的输入记录。如果您想观察SQL的中间结果,或者观察最终输出结果,可以给SQL语句添加Print结果表,即将WITH参数修改为'connector'='print'后,单击运行,在JobManager的日志中观察打印出的结果信息。

Print可用于辅助确认输出到其他结果表中的消息是否符合预期。

Print连接器支持的信息如下。
类别详情
支持类型结果表
运行模式批模式和流模式
数据格式暂不适用
特有监控指标暂无
API种类SQL
是否支持更新或删除结果表数据

前提条件

  • 因为Print结果表数据输出为Info日志,所以如果您需要查看Print结果表的结果数据,则需要将日志级别调至Info,否则无法查到结果数据。
  • Taskmanager.out日志展示数据限制为2000条。如果您有排查脏数据或特定数据等需求,建议在Where条件中指定业务场景相关条件后,进行Print操作,以避免因为数据条数限制导致无法排查。

使用限制

仅Flink计算引擎VVR 2.1.5及以上版本支持Print连接器。

语法结构

CREATE TABLE print_table (
  a INT,
  b varchar
) WITH (
  'connector'='print',
  'logger'='true'
);
您也可以基于现有的表模式使用LIKE子句来创建,代码示例如下。
CREATE TABLE print_table WITH ('connector' = 'print')
LIKE table_source (EXCLUDING ALL)

WITH参数

参数说明数据类型是否必填默认值备注
connector表类型。String固定值为print。
logger控制台是否显示数据结果。Booleanfalse取值如下:
  • false(默认值):不显示。
  • true:显示。
print-identifier数据结果标识。String在日志中通过数据结果标识检索信息。
sink.parallelism结果表并行度。Int上游并行度无。

使用示例

CREATE TABLE table_source(
  name VARCHAR,
  score BIGINT
) WITH (
  ...
);

CREATE TABLE print_sink(
  name VARCHAR,
  score BIGINT
) WITH (
  'connector' = 'print'
);

INSERT INTO print_sink SELECT * from table_source;