【发布时间】:2022-04-02 12:43:47
【问题描述】:
我正在努力运行基本的word_count.py pyflink example,它在 AWS EMR 上加载了 apache flink
采取的步骤:
-
使用以下应用程序 [Flink, Zookeeper] 成功创建 AWS EMR 6.5.0 集群 - 验证
$PATH中存在flink和flink-yarn-session二进制文件。 AWS 说它安装了v1.14。 -
通过执行以下操作成功运行 java 版本
sudo flink-yarn-sessionssudo flink run -m yarn-cluster -yid <application_id> /usr/lib/flink/examples/batch/WordCount.jar
- 尝试使用 python 运行相同但没有骰子
sudo flink run -m yarn-cluster -yid <application_id> -py /usr/lib/flink/examples/python/table/word_count.py
虽然python3 是默认设置,但错误很明显它会选择python2.7!!
-
通过遵循link 解决了这个问题。然后尝试用一个简单的例子打印出
sys.version。这证实了它选择了我的 python 版本 -
用 venv 再试一次
sudo flink run -m yarn-cluster -yid <application_id> -pyarch file:///home/hadoop/venv.zip -pyclientexec venv.zip/venv/bin/python3 -py /usr/lib/flink/examples/python/table/word_count.py
此时,我开始看到从no file found 到神秘的各种问题
pyflink.util.exceptions.TableException: org.apache.flink.table.api.TableException: Failed to execute sql
我运行了有/无纱线集群的各种排列。但到目前为止没有任何进展。
我认为我的问题要么与环境有关(为什么 AWS 不处理正确的 python 版本超出了我的范围),要么是我对 yarn/pyflink 缺乏经验。
任何指针将不胜感激。
【问题讨论】:
标签: apache-flink pyflink