为什么使用 "--requirements_file" 将依赖项上传到 GCS?



我目前正在使用这些参数生成一个模板:

--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 才能找到最新的匹配版本的依赖项。取而代之的是,一组依赖项在管道启动时暂存,并在整个管道执行过程中一致地安装在工作线程中。

最新更新