我目前正在使用这些参数生成一个模板:
--runner DataflowRunner
--requirements_file requirements.txt
--project ${GOOGLE_PROJECT_ID}
--output ${GENERATED_FILES_PATH}/staging
--staging_location=${GENERATED_FILES_PATH}/staging
--temp_location=${GENERATED_FILES_PATH}/temp
--template_location=${GENERATED_FILES_PATH}/templates/calculation-template
SDK 正在将requirements.txt
中指定的依赖项上传到暂存部分中的 GCS。我不明白。。。对我来说,使用这种文件将允许工人直接从官方 pip 注册表中提取依赖项,而不是从我的 GCS 中提取依赖项,对吧?
它使运行此命令非常长,因为它需要上传包:/
任何解释为什么会发生这种情况?也许我做错了什么?
谢谢
我相信这样做是为了使数据流工作线程启动过程更加高效和一致(无论是最初还是在自动缩放时(。如果没有这个,每次数据流工作器启动时,该工作线程必须直接连接到 PyPI 才能找到最新的匹配版本的依赖项。取而代之的是,一组依赖项在管道启动时暂存,并在整个管道执行过程中一致地安装在工作线程中。