Recommender API 正在生产中使用 dataproc

Recommender API with dataproc in production

我目前正在尝试为电子商务网站构建推荐引擎。我遇到了 this,其中概述了 dataproc 的用法。

我也得到了 Prediction.io 运行ning,这似乎是一个构建此类服务的好项目......虽然它现在有点被遗弃了。

现在我对 dataproc 文章中提供的解决方案的问题是,它无法扩展。 recos 的结果存储在 Mysql 中,我应该使用一些第三方网络服务来公开它们。

现在这可能适用于小的工作负载,但是当我得到例如。 100.000 个产品和 300.000 个用户,并且不断有新的用户和产品进来,我最终会用更新轰炸数据库以跟上所有变化。我想,Mysql 不是最好的解决方案。

我想将经过训练的模型(在本例中为 ALS)部署到网络服务器 运行ning on spark 集群更加稳健,查询它运行时间和结果。训练新模型时,它会替换旧模型。

那么真的可以这样做吗?我可以 运行 我自己的应用程序在 dataproc 集群上吗?到目前为止,我只能通过gcloud cli工具调度作业,但我无法通过默认的7077端口访问集群。

这是否在 DataProc 的预期用途范围内,或者它更像是一种 "crunch data and store it somehwere" 类型

最佳

我将提供部分答案:

集群的使用方式没有任何限制。您可以通过 ssh [2] 在每个 VM 上安装其他软件,或者您可以自动安装并使用初始化操作 [1]。

您必须修改防火墙设置才能使 VM 上的端口可访问。但请注意,这会使它们对世界可见(而不仅仅是您)。一种选择是设置 SSH 端口转发 [3].

我们通常鼓励短期集群。您的选择是使用 Cloud SQL、Cloud Bigtable 等,或者使用 mySQL/etc.

设置单独的 VM

[1] https://cloud.google.com/dataproc/docs/concepts/init-actions

[2]https://cloud.google.com/compute/docs/instances/connecting-to-instance

[3]https://cloud.google.com/dataproc/docs/concepts/cluster-web-interfaces