我们在Dataproc和本地计算机之间交替使用jupyter笔记本电脑。通常,我们在本地编写和测试较小的示例代码,并在Dataproc中的所有数据上运行它。然而,我们目前的做法是在谷歌云存储和本地计算机之间下载/上传笔记本电脑。这并不是最佳的,原因有几个。我们还有一个Github仓库连接到本地计算机上的文件夹。是否可以将Github仓库克隆到GCS并在那里使用git?
我们发现了一个在创建群集时使用初始化操作的解决方法:
gcloud dataproc clusters create test-init-actions \
--enable-component-gateway \
--bucket {bucket-name} \
--single-node \
--image-version=2.1.0-RC2-debian11 \
--optional-components JUPYTER \
--project {project-name} \
--initialization-actions=gs://{project-name}/initialization-actions/clone-public-repo.sh
其中clone-public-repo.sh
的内容只是(我们将其扩展到一个私有存储库):
git clone https://github.com/{user}/{repo-name}
这会将仓库克隆到集群的本地存储中,我们可以从那里正常使用git。这种方法的问题是,如果集群被删除,对Dataproc中笔记本的本地更改不会持久化,所以我们总是需要在删除集群之前提交和推送。这将导致仅仅为了持久性而提交未完成的代码,并且如果开发人员忘记提交和推送,则可能导致进度损失。
是否有一种方法可以将集群磁盘中的本地更改持久化到其他位置(例如GCS),而无需手动将文件存储在那里?
1条答案
按热度按时间h22fl7wq1#
您可以按照documentation中提到的步骤在云存储上启用Github操作。如果您需要在云存储中保存更改,请确保它能够保存您的检查点