git GCP数据处理版本控制

xzlaal3s  于 2023-02-02  发布在  Git
关注(0)|答案(1)|浏览(184)

我们在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),而无需手动将文件存储在那里?

h22fl7wq

h22fl7wq1#

您可以按照documentation中提到的步骤在云存储上启用Github操作。如果您需要在云存储中保存更改,请确保它能够保存您的检查点

  • 确保正确设置GCS以保存检查点。您可以检查/etc/jupyter/jupyter_notebook_config.py,并确保c.GCSContentsManager.bucket_name存在且设置了正确的存储桶。如果不存在,则需要设置它,然后从Dataproc Web UI的“内核”〉“重新启动”,从Jupyter菜单重新启动Jupyter。
  • 确保您的帐户对您可以检查此link的bucket具有管理/写入权限。

相关问题