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