2017-03-07 2 views
0

私は現在、eコマースサイト用のリコメンダーエンジンを構築しようとしています。私はthisに出会ってdataprocの使い方を概説しました。推薦のAPI dataprocをプロダクションに使用

私はまたPrediction.ioを稼働しています。これは、このようなサービスを構築するためのきちんとしたプロジェクトだと思われます...現時点では少し破棄されていますが。

dataproc記事で提供されている解決策の問題は、スケールされていないことです。 recosの結果はMysqlに保存されています。私はそれらを公開するためにサードパーティのWebサービスを使用することになっています。

これは小さなワークロードでは機能するかもしれませんが、 100.000の製品と300,000のユーザーがいて、新しいユーザーと製品が継続的に導入されている場合は、すべての変更に対応するために更新プログラムをデータベースに爆破させてしまいます。私は思う、Mysqlはこれのための最善の解決策ではありません。

スパーク・クラスタ上で実行しているWebサーバーに訓練モデル(この場合はALS)を配置し、実行時にクエリを実行して結果を提供する方がはるかに堅牢だと思います。新しいモデルが訓練されると、古いモデルが置き換えられます。

これは実際に可能ですか? dataprocクラスタで自分のアプリケーションを実行できますか?これまでのところ、gcloud cliツールを使用してジョブをスケジュールすることしかできませんでしたが、デフォルトの7077ポートを使用してクラスタにアクセスすることはできません。

があります:私は部分的な答えを提供します

はDataProcの使用目的の範囲内このですかそれはより多くのある「クランチデータと、それはsomehwere保存」タイプ

カテゴリーで探す

答えて

0

をクラスタの使用方法に制限はありません。それぞれのVMでssh [2]経由で追加のソフトウェアをインストールすることも、インストールを自動化して初期化アクション[1]を使用することもできます。

VMのポートにアクセスできるようにするには、ファイアウォールの設定を変更する必要があります。しかし、これが世界に(あなただけでなく)目に見えるようになることに注意してください。 1つのオプションは、SSHポート転送を設定することです[3]。

一般に、短命のクラスタを推奨します。あなたのオプションはCloud SQL、Cloud Bigtableなどを使用するか、または別のVMをmySQL/etcとセットアップすることです。

[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

おかげ。だから私は、DataProcマシンに自動的に起こっているプロビジョニング/コンフィギュレーションと戦うよりもSparkを動かすためにいくつかのVMを調整すると思う – wirtsi

関連する問題