Closed yifanfish233 closed 3 years ago
其实都是一样的,只是不同的作业提交模式。
python xxx.py 是用 localjvm 模式来提交作业,不涉及到跟集群交互,适合本地开发。
flink run xxxx 是用集群模式来提交作业,与线上环境更为一致,而且还能利用 flink 自带的 webui 界面来获得作业的运行详情,便于发现潜在问题。
其实都是一样的,只是不同的作业提交模式。
python xxx.py 是用 localjvm 模式来提交作业,不涉及到跟集群交互,适合本地开发。
flink run xxxx 是用集群模式来提交作业,与线上环境更为一致,而且还能利用 flink 自带的 webui 界面来获得作业的运行详情,便于发现潜在问题。
嗯,这我能理解,毕竟python 的没有jobID,实际上就是java 在工作。 但是为何官方的word_count example 可以两种模式跑,但是您的示例代码只能flink run, 我不明白是差别在哪里。。。
你是指哪个案例呢?好像我的代码也可以 python 直接运行吧
你是指哪个案例呢?好像我的代码也可以 python 直接运行吧
我刚跑了一下example 1, 如果是python batch.py 那 result.csv 结果是空的, 如果flink run -py batch.py 则里面包含两个文件。 其他的好像也同理。
还真是。。。那就应该是两者的综合作用吧:环境设置和执行语句的设置。可以研究一下
您好,
能否再请教一下,为啥网上其他pyflink示例可以通过python 解释器直接运行(环境相同),但是您的example 代码都得是 flink run -py 这样的呢?
对比了一下官方example里的wordcount, 最后一行 有 t_env.execute(‘xxx’), 是因为这个原因吗? 抑或是table env设置时候是
官方example 是
的原因?
感谢指导~