如果链接正在运行,如何在 flink-sql 作业图中可视化运算符执行情况

问题描述 投票:0回答:1

我有 flink-sql 应用程序,只需通过连接多个表来执行简单的简单插入到丰富表中。

    create table T1 (...) WITH ( 'connector' = 'upsert-kafka','topic' = 'T1', ...)
    create table T2 (...) WITH ( 'connector' = 'upsert-kafka','topic' = 'T2', ...)
    create table enrich (...) WITH ( 'connector' = 'upsert-kafka','topic' = 'enrich', ...)


CREATE TEMPORARY VIEW distinct_t1 AS
SELECT *
FROM (SELECT *,
ROW_NUMBER() OVER (PARTITION BY id ORDER BY change_date desc) AS rownum
FROM T1)
WHERE rownum = 1;


CREATE TEMPORARY VIEW distinct_t2 AS
SELECT *
FROM (SELECT *,
ROW_NUMBER() OVER (PARTITION BY id ORDER BY change_date desc) AS rownum
FROM T2)
WHERE rownum = 1;

    insert into enrich 
    select ... from distinct_t1 t1 inner join distinct_t2 t2 ... t2.t1_id = t1.id and t2.client_id=t1.client_id

注:

  1. Kafka 分区在原始主题上为 8,并行度设置为 8
  2. 最大并行度是默认值(我相信下限是 128)
  3. TaskSlot=1 总共有 8 个 TaskManager 处理正在运行

问题1:基于上述配置,我正在可视化我的作业图(包括在TM1上运行的源、排名、连接和接收器操作符,从分区0读取数据) 像这样的事情..我对吗?

  1. TM1

    • T1-分区[0] - source_operator[0] ->rank_operator[0] ->加入
    • T2-分区[0]-source_operator[0]->rank_operator[0]->。 > 水槽操作员
  2. TM2

    • T1-分区[1] - source_operator[1] ->rank_operator[1] ->加入
    • T2-分区[1]-source_operator[1]->rank_operator[1]->。 > 水槽操作员 ...
  3. TM8

    • T1-分区[7] - source_operator[7] ->rank_operator[7] ->加入
    • T2-partition[7] - source_operator[7] ->rank_operator[7] ->。 > 水槽操作员

**问题2:我如何验证我的操作员是否被链接?或我必须在环境中设置的任何配置 **

问题3:如果这些运算符没有像我想象的那样链接,那么我如何验证哪些运算符正在哪里运行??

stream apache-flink flink-sql
1个回答
0
投票

如果您可以访问 Flink Web UI,该信息会以易于理解的方式呈现。这通常在作业管理器的 8081 端口上运行。

© www.soinside.com 2019 - 2024. All rights reserved.