我最近在学习pyflink,但我有点困惑。我们知道pyflink表API将流/批处理转换为表,并对其进行一些工作,最后下沉到您想要的位置。然而,有几种方法可以创建表环境:
例如:
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,其他一些样式可以作为本地运行的pythonbatch.py运行。
我的问题是executionEnvironment和BatchTableEnvironment/StreamTableEnvironment有什么区别,什么时候可以使用flink-run-py,什么时候安装了pyflink可以通过python解释器运行?
Thx
flink run
方式用于提交要在集群上运行的作业。python xxx.py
的方法是直接在本地存储器中运行作业
对于flink run
,在.sh
中需要设置一些配置,您可以考虑flink run
是一些bash脚本加上python xx
本身。
有关更多信息,您可以访问$FLINK_HOME/bin/flink
或flink-dist/src/flink-bin/flink