Flink中的StreamExecutionEnvironment和StreamTableEnvironment有什么区别
What is the difference between StreamExecutionEnvironment and StreamTableEnvironment in Flink
嗯,我是Apache Flink的新手,正在网上阅读一些源代码。
有时我看到StreamExecutionEnvironment
但我也看到StreamTableEnvironment
。
我看了官方文档,还是没搞清楚它们的区别
此外,我正在尝试编写一个 Flink Stream Job,它从 Kafka 接收数据。这种情况下,我应该使用哪种环境?
A StreamExecutionEnvironment
与 DataStream API 一起使用。如果您要使用更高级别的 Table 或 SQL API,则需要 StreamTableEnvironment
。
creating a TableEnvironment 上的文档部分对此进行了更详细的介绍。
您应该使用哪种取决于您是要使用较低级别的数据流,还是要使用较高级别的关系 API。两者都可用于实现从 Kafka 读取的流作业。
该文档包括一对介绍两个 API 的代码演练,这应该可以帮助您确定哪个 API 更适合您的用例。参见 the DataStream walkthrough and the Table walkthrough。
要学习 DataStream API,请花一天时间学习 self-paced training. There's also training for Flink SQL。两者都是免费的。
嗯,我是Apache Flink的新手,正在网上阅读一些源代码。
有时我看到StreamExecutionEnvironment
但我也看到StreamTableEnvironment
。
我看了官方文档,还是没搞清楚它们的区别
此外,我正在尝试编写一个 Flink Stream Job,它从 Kafka 接收数据。这种情况下,我应该使用哪种环境?
A StreamExecutionEnvironment
与 DataStream API 一起使用。如果您要使用更高级别的 Table 或 SQL API,则需要 StreamTableEnvironment
。
creating a TableEnvironment 上的文档部分对此进行了更详细的介绍。
您应该使用哪种取决于您是要使用较低级别的数据流,还是要使用较高级别的关系 API。两者都可用于实现从 Kafka 读取的流作业。
该文档包括一对介绍两个 API 的代码演练,这应该可以帮助您确定哪个 API 更适合您的用例。参见 the DataStream walkthrough and the Table walkthrough。
要学习 DataStream API,请花一天时间学习 self-paced training. There's also training for Flink SQL。两者都是免费的。