如何调度机器学习中的BigQuery和Dataproc



我想在dataproc上安排我的火车模型,我需要:

1/请求Bigquery并加载我数据集的BQ表2/创建我的dataproc集群启动我的pyspark job4、删除my cluster

我想为这个创建一个cron,我该怎么做呢?

谢谢

这里有几个不同的选项供您选择,这取决于您想要获得的复杂程度或深度。

非常简单的使用

如果您想以尽可能简单的方式运行东西,您可以创建一个shell脚本,它只调用Cloud SDK命令,例如:

#!/bin/sh
CREATION_OUTPUT=`gcloud dataproc clusters create ...`
...
DELETION_OUTPUT=`gcloud dataproc clusters delete...`

如果您想要调度它,最简单的方法(IMHO,每个人可能有不同的意见)是让它在f1-micro实例上运行。总的费用大概是每月5美元。

更高级

您可能希望使用shell +变量,这样您就不需要硬编码所有内容。例如,您可以根据时间或其他值创建具有唯一ID的集群。这可能对您很有用,特别是如果您想经常创建集群

但是…

这两种方法都远非安全。例如,如果您得到一个错误,您的整个设置可能进入并保持在一个坏的状态。您可能不知道发生了什么,也无法捕获详细的调试信息。

一个更好的解决方案

使用api将需要更多的工作,但可能是一个更好的整体解决方案,特别是如果你想要重复运行这个或有错误处理。在这种情况下,我可能会使用Python快速编写一个脚本来与api通信。这将使我能够捕获错误,处理它们,并可能恢复(如果需要,还可以通知)

下面是一些我们的api与Python一起使用的例子:

    云Dataproc
  • BigQuery

它们的方向分别在这里:

    云Dataproc
  • BigQuery

最新更新