开发者社区> 问答> 正文

Pyflink 提交到本地集群报错怎么办?

我在terminal中用python xx.py文件就可以执行,然而用flink run -m localhost:8081 -py xx.py就会报上面的错误说没有pyflink的组件。 (base) huilin@huilin-Lenovo:~/Documents/Learning/experiment$ flink run -m localhost:8081 -py demo_predict.py Traceback (most recent call last): File "demo_predict.py", line 51, in from pyflink.common.serialization import SimpleStringEncoder ModuleNotFoundError: No module named 'pyflink.common.serialization'

我已经试了很多方法,创建了虚拟环境在里面安装了对应的包,还是不行。请问有什么解决办法?*来自志愿者整理的flink邮件归档

展开
收起
EXCEED 2021-12-01 14:18:52 1325 0
1 条回答
写回答
取消 提交回答
  • 从报错看,似乎是作业运行的时候,找不到pyflink,如果确实是这样的话,有几个解决方案:

    • 通过API指定集群端的Python路径: set_python_executable,参考 [1]

    • 通过配置python.executable,参考[2]

    [1]

    https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/python/table-api-users-guide/dependency_management.html

    [2]

    https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/python/python_config.html#python-executable*来自志愿者整理的flink邮件归档

    2021-12-01 15:08:10
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Production-Ready Flink and Hive Integration what story you can tell now 立即下载
【Flink Day - 02 - 五藏】Flink_Model_and_Modules 立即下载
spark替代HIVE实现ETL作业 立即下载