2017-03-07 38 views
0

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

我也有Prediction.io正在运行,这似乎是一个很好的项目来建立这样的服务......虽然目前有点被遗弃。

现在我遇到的问题在dataproc文章中提供的解决方案是,它不能缩放。重演的结果存储在Mysql中,我应该使用一些第三方Web服务来公开它们。

现在这可能适用于小工作量,但是当我得到例如。 100.000个产品和300.000个用户,并且不断有新的用户和产品进入市场,我最终将更新数据库以便跟上所有的变化。我会认为,Mysql不是最好的解决方案。

我想这是更强大的部署训练的模型(在这种情况下ALS)到运行火花集群Web服务器,在运行时进行查询和服务的结果。当一个新模型被训练时,它将取代旧模型。

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

这是DataProc的预期使用中还是更多的是“紧缩的数据并将其存储somehwere”型

最好成绩

回答

0

我会提供了部分答案:

有对使用群集的方式没有限制。您可以在每台虚拟机上通过ssh [2]安装其他软件,也可以自动安装并使用初始化操作[1]。

您必须修改防火墙设置才能访问虚拟机上的端口。但请注意,这会让他们看到世界(而不仅仅是你)。一种选择是设置SSH端口转发[3]。

我们通常鼓励短寿命集群。您的选择是使用Cloud SQL,Cloud Bigtable等,或者使用mySQL等设置单独的虚拟机。

[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

+0

感谢您的回答。所以我想我宁愿调整一些虚拟机来运行Spark,而不是试图自动对抗DataProc机器上的配置/配置 – wirtsi