这个需求 我们也比较类似:<br/>要获取注册的表信息,自己用stream+table 实现部分逻辑
在 2020-07-22 13:47:25,"刘首维" <[email protected]> 写道:
>Hi JingSong,
>
>  简单介绍一下背景,我们组的一个工作就是用户在页面写Sql,我们负责将Sql处理转换成Flink作业并在我们的平台上运行,这个转换的过程依赖我们的SQL 
> SDK
>  下面我举几个我们比较常用且感觉用1.11新API不太好实现的例子
>
>
>  1.  我们现在有某种特定的Kafka数据格式,1条Kafka数据 
> 会对应转换n(n为正整数)条Row数据,我们的做法是在emitDataStream的时候增加了一个process/FlatMap阶段,用于处理这种情况,这样对用户是透明的。
>  2.  我们目前封装了一些自己的Sink,我们会在Sink之前增加一个process/Filter 用来做缓冲池/微批/数据过滤等功能
>  3.  调整或者指定Source/Sink并行度为用户指定值,我们也是在DataStream层面上去做的
>  4.  对于一些特殊Source Sink,他们会和KeyBy操作组合(对用户透明),我们也是在DataStream层面上去做的
>
>
>如果可以的话,能让我在API层面拿到Transformation也是能满足我需求的
>
>
>________________________________
>发件人: Jingsong Li <[email protected]>
>发送时间: 2020年7月22日 13:26:00
>收件人: user-zh
>抄送: [email protected]
>主题: Re: 关于1.11Flink SQL 全新API设计的一些问题
>
>可以分享下你们为啥要拿到DataStream吗?什么场景一定离不开DataStream吗?
>
>Best
>Jingsong
>
>On Wed, Jul 22, 2020 at 12:36 PM 刘首维 <[email protected]> wrote:
>
>> Hi all,
>>
>>
>>
>>     很高兴看到Flink 1.11的发布,FLIP95和FLIP105也成功落地~
>>
>>     我们最近在调研基于1.11的SQL/Table API对我们旧有的SQL
>> SDK进行升级。经过初步调研发现,基于`Factory`和`DynamicTable`的API,CatalogTable会被Planner直接变成Transformation,而不是跟之前一样可以拿到DataStream。比如之前的`StreamTableSource`#getDataStream,我可以直接获得DataStream对象的。这个动作/方法对于我们很重要,因为我们封装的SDK中,很多内部操作是在这个方法调用时触发/完成的。
>>
>>
>>
>>     所以,如果基于新的API去开发的话,我该如何获取到DataStream,或者达成类似的效果呢(尽可能不去动执行计划的话)
>>
>
>
>--
>Best, Jingsong Lee

回复