1年くらい前にレコメンドロジックを実装するにあたってSpark MLlibのmllibパッケージ内のRDD版を使っていたのですが、 データの整形など不便だったため、その後リリースされたmlパッケージ以下のDataFrame版を使ってみたい。 きっと楽なはずということでサンプル的なものを実装してみました。 RDDとDataFrame RDD(Resilient Distributed Datasets)は、Spark上で分散処理可能なimmutableなデータセット DataFrameは、RDDを構造化したもので、RDBのテーブル的に処理が可能 DataFrameがより抽象化されたレイヤーで扱えるので、使う側からは楽なのとDataFrameのAPIがジョブを最適化してくれるというメリットもあります。 レコメンドアルゴリズム Spark MLlibに用意されているALSというクラスを使います。
![Apache Spark MLlibのレコメンドアルゴリズムを使う - 記録目録](https://cdn-ak-scissors.b.st-hatena.com/image/square/77dfb7b3c5b9c4bc7bb615e9a9c90d7800abcd2d/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fk%2Fkzzzz%2F20160209%2F20160209094316.png)