我正试图在PyFlink项目中编写一个本地包。但我只能通过相对路径导入。
像
from .package import func
我可以在PyFlink项目中导入为env.add_python_file('/path_to_project')
的包中使用绝对路径吗?
对于使用绝对路径,答案来自https://lists.apache.org/list.html?user@flink.apache.org:完整答案在这里对于抽象结构目录:
flink_app/
data_service/
filesystem.py
validator/
validator.py
common/
constants.py
main.py <- entry job
提交PyFlink作业时,您可以使用选项--pyFiles和--pyModule1指定python文件和条目主模块,如:
$/bin/flink run--pyModule flink_app.main--pyFiles${WORKSPACE}/flink_app
通过这种方式,目录下的所有文件都将被添加到本地客户端和远程python UDF工作程序的PYTHONPAHT中。