数据流中的 nltk 依赖项
nltk dependencies in dataflow
我知道外部 python 依赖项可以通过 requirements.txt 文件输入到数据流中。我可以在我的数据流脚本中成功加载 nltk。但是,nltk 通常需要下载更多文件(例如停用词或 punkt)。通常在脚本的本地 运行 上,我可以 运行
nltk.download('stopwords')
nltk.download('punkt')
这些文件将可供脚本使用。我该怎么做才能使工作脚本也可以使用这些文件。如果每个工人只需要执行一次,那么将这些命令放入 doFn/CombineFn 中似乎效率极低。脚本的哪一部分保证对每个工人 运行 一次?那可能是放置下载命令的地方。
根据 this,Java 允许通过类路径暂存资源。这不是我在 Python 中寻找的东西。我也没有寻找加载额外 python 资源的方法。我只需要 nltk 来找到它的文件。
您或许可以使用“--setup_file setup.py”到 运行 这些自定义命令。 https://cloud.google.com/dataflow/pipelines/dependencies-python#pypi-dependencies-with-non-python-dependencies。这对你有用吗?
我知道外部 python 依赖项可以通过 requirements.txt 文件输入到数据流中。我可以在我的数据流脚本中成功加载 nltk。但是,nltk 通常需要下载更多文件(例如停用词或 punkt)。通常在脚本的本地 运行 上,我可以 运行
nltk.download('stopwords')
nltk.download('punkt')
这些文件将可供脚本使用。我该怎么做才能使工作脚本也可以使用这些文件。如果每个工人只需要执行一次,那么将这些命令放入 doFn/CombineFn 中似乎效率极低。脚本的哪一部分保证对每个工人 运行 一次?那可能是放置下载命令的地方。
根据 this,Java 允许通过类路径暂存资源。这不是我在 Python 中寻找的东西。我也没有寻找加载额外 python 资源的方法。我只需要 nltk 来找到它的文件。
您或许可以使用“--setup_file setup.py”到 运行 这些自定义命令。 https://cloud.google.com/dataflow/pipelines/dependencies-python#pypi-dependencies-with-non-python-dependencies。这对你有用吗?