功能描述
Print connector用于将用户输出的数据打印到taskmanager中的error文件或者out文件中,方便用户查看,主要用于代码调试,查看输出结果。
前提条件
无。
注意事项
- Print结果表支持以下四种格式内容输出:
打印内容
条件1
条件2
标识符:任务 ID> 输出数据
需要提供前缀打印标识符,即创建Print表时在with参数中指定print-identifier。
parallelism > 1
标识符> 输出数据
需要提供前缀打印标识符,即创建Print表时在with参数中指定print-identifier。
parallelism == 1
任务 ID> 输出数据
不需要提供前缀打印标识符,即创建Print表时在with参数中不指定print-identifier。
parallelism > 1
输出数据
不需要提供前缀打印标识符,即创建Print表时在with参数中不指定print-identifier。
parallelism == 1
- 创建Flink OpenSource SQL作业时,在作业编辑界面的“运行参数”处,“Flink版本”需要选择“1.15”,勾选“保存作业日志”并设置保存作业日志的OBS桶,方便后续查看作业日志。
语法格式
1 2 3 4 5 6 7 8 9 |
create table printSink ( attr_name attr_type (',' attr_name attr_type) * (',' PRIMARY KEY (attr_name,...) NOT ENFORCED) ) with ( 'connector' = 'print', 'print-identifier' = '', 'standard-error' = '' ); |
参数说明
参数 |
是否必选 |
默认值 |
数据类型 |
说明 |
---|---|---|---|---|
connector |
是 |
无 |
String |
固定为:print。 |
print-identifier |
否 |
无 |
String |
配置一个标识符作为输出数据的前缀。 |
standard-error |
否 |
false |
Boolean |
该值只能为true或false,默认为false。
|
sink.parallelism |
否 |
无 |
Integer |
为Print结果表定义并行度。默认情况下,并行度由框架决定,与上游并行度一致。 |
示例
参考创建Flink OpenSource作业,创建flink opensource sql作业,运行如下作业脚本,通过DataGen表产生随机数据并输出到Print结果表中。
create table dataGenSource( user_id string, amount int ) with ( 'connector' = 'datagen', 'rows-per-second' = '1', --每秒生成一条数据 'fields.user_id.kind' = 'random', --为字段user_id指定random生成器 'fields.user_id.length' = '3' --限制user_id长度为3 ); create table printSink( user_id string, amount int ) with ( 'connector' = 'print', 'print-identifier' = '', --配置数据前缀 'standard-error' = 'false', --输出数据到taskmanager的out文件中 'sink.parallelism' = '2' --配置并行度 ); insert into printSink select * from dataGenSource;
该作业提交后,作业状态变成“运行中”,后续您可通过如下操作查看输出结果。
- 方法一:
- 登录DLI管理控制台,选择“作业管理 > Flink作业”。
- 在对应Flink作业所在行的“操作”列,选择“更多 > FlinkUI”。
- 在FlinkUI界面,选择“Task Managers”,单击对应的任务名称,选择“Stdout”查看作业运行日志。
- 方法二:如果在提交运行作业前“运行参数”选择了“保存作业日志”,可以通过如下操作查看。
- 登录DLI管理控制台,选择“作业管理 > Flink作业”。
- 单击对应的Flink作业名称,选择“运行日志”,单击“OBS桶”,根据作业运行的日期,找到对应日志的文件夹。
- 进入对应日期的文件夹后,找到名字中包含“taskmanager”的文件夹进入,下载获取taskmanager.out文件查看结果日志。
- 方法三:如果是新版本队列,可以通过如下操作查看。
- 登录DLI管理控制台,选择“作业管理 > Flink作业”。
- 单击对应的Flink作业名称,选择“日志列表”。
- 在左上角下拉框选择对应的taskmanager名称,单击taskmanager.out文件查看结果日志。