0

我最近在学习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 解释器运行?

谢谢

4

2 回答 2

1

flink run方式用于提交作业以在集群上运行。而方式python xxx.py是直接在本地内存中运行job

于 2020-12-31T07:38:48.933 回答
0

flink run一些配置要设置.sh,你可以考虑flink run是一些 bash 脚本加上python xx本身。

有关更多信息,您可以访问$FLINK_HOME/bin/flinkflink-dist/src/flink-bin/flink

于 2020-12-21T08:45:58.777 回答