列出Flink SQL作业中的所有源和接收器

问题描述

我正在围绕Flink sql构建一种包装。我用StreamTableEnvironment.sqlUpdate用一堆用户指定的sql语句构造了一个作业。有些是INSERT,有些是CREATE。我还做了一些sqlQuery

在致电StreamExecutionEnvironment.execute之前,我想列出用户创建的所有源和接收器。

是否有一种简单/官方的方式来做到这一点,或者我需要和StreamExecutionEnvironment.getStreamGraph().getJobGraph().getVerticesSortedTopologicallyFromSources()一起探索吗?

最诚挚的问候

编辑:我需要表名称和关联的模式。

解决方法

没关系,您可以使用StreamTableEnvironment查询StreamTableEnvironment.listTables()中的表,然后执行StreamTableEnvironment.from(tableName).getSchema()