Thanks for the reply, Godfrey.

I would also love to learn the reasoning behind that limitation.

For more context, I am building a Java application that receives some user
input via a GRPC service. The user's input is translated to some SQL that
may be executed in streaming or batch mode based on custom business logic
and submitted it to Flink for execution. In my current setup, I create an
ExecutionEnvironment, register sources, and execute the corresponding SQL.
I was able to achieve the desired behavior with StreamTableEnvironment but
it has limitations around supported SQL in batch mode.

While invoking the CLI from java program might be a solution, it doesn't
feel like the most natural solution for the problem. Are there other ways
to address this?

Regards,
Satyam

On Wed, Jun 3, 2020 at 12:50 AM godfrey he <godfre...@gmail.com> wrote:

> Hi Satyam,
>
> for blink batch mode, only TableEnvironment can be used,
> and TableEnvironment do not take StreamExecutionEnvironment as argument.
> Instead StreamExecutionEnvironment instance is created internally.
>
> back to your requirement, you can build your table program as user jar,
> and submit the job through flink cli [1] to remote environment.
>
> Bests,
> Godfrey
>
> [1] https://ci.apache.org/projects/flink/flink-docs-stable/ops/cli.html
>
>
>
> Satyam Shekhar <satyamshek...@gmail.com> 于2020年6月3日周三 下午2:59写道:
>
>> Hello,
>>
>> I am running into a very basic problem while working with Table API. I
>> wish to create a TableEnvironment connected to a remote environment that
>> uses Blink planner in batch mode. Examples and documentation I have come
>> across so far recommend the following pattern to create such an environment
>> -
>>
>> var settings = EnvironmentSettings.newInstance()
>>                   .useBlinkPlanner()
>>                   .inBatchMode()
>>                   .build();
>> var tEnv = TableEnvironment.create(settings);
>>
>> The above configuration, however, does not connect to a remote
>> environment. Tracing code in TableEnvironment.java, I see the following
>> method in BlinkExecutorFactory.java that appears to relevant -
>>
>> Executor create(Map<String, String>, StreamExecutionEnvironment);
>>
>> However, it seems to be only accessible through the Scala bridge. I can't
>> seem to find a way to instantiate a TableEnvironment that takes
>> StreamExecutionEnvironment as an argument. How do I achieve that?
>>
>> Regards,
>> Satyam
>>
>

Reply via email to