我最近在学习pyflink,但我有点困惑。我们知道 pyflink table API 将流/批处理转换为 table 并对其进行一些工作,最后下沉到你想要的地方。但是,有几种方法可以创建表环境:
对于批处理示例:
t_config = TableConfig()
env = ExecutionEnvironment.get_execution_environment()
t_env = BatchTableEnvironment.create(env, t_config)
和
env_settings = EnvironmentSettings.new_instance().in_batch_mode().use_blink_planner().build()
t_env = BatchTableEnvironment.create(evnironment_settings = env_settings)
但我发现其中一个仅适用于 flink run -py batch.py,其他一些样式可以作为 python batch.py 运行以进行本地运行。
我的问题是 executionEnvironment 和 BatchTableEnvironment/StreamTableEnvironment 的区别是什么,什么时候可以使用 flink run -py 以及什么时候可以通过安装了 pyflink 的 python 解释器运行?
谢谢