レコメンデーション エンジンに関して、Mahout in Actionブックにあるコードをどのように変換すれば、Hadoop の完全分散環境と一致するかを知っている人はいますか? 私の主な困難は、擬似分散環境 (Cloudera など) で実行されるように、(現在ローカル ディスクから読み書きしている) 私のコードを変換することです。私の問題の解決策はこれと同じくらい単純ですか、それとももっと複雑なものを期待する必要がありますか?
1 に答える
真に分散された計算は、同じ結果を計算する場合でも、非分散計算とはまったく異なります。構造は同じではなく、使用するインフラストラクチャも同じではありません。
ローカルファイルに関して疑似分散ソリューションがどのように機能するかを尋ねるだけの場合:Hadoop入出力メカニズムを無視し、Mapper
HDFSのどこかから入力を読み取り、ローカルディスクにコピーするを書き込みます。
実際に計算をどのように分散するかを尋ねる場合は、プロジェクトで(完全に異なる)分散実装を使用するように切り替える必要があります。これらは実際にHadoopを使用して計算を分割します。上記のプロセスは、Hadoopコンテナー内で多くの非分散タスクを実行するだけのハックです。ただし、これらの実装は完全にオフラインです。
Mahoutパッケージのようなリアルタイムのレコメンダーが.cf.taste
必要であるが、実際にHadoopの分散コンピューティング能力を使用したい場合は、Mahout以上のものが必要です。マハウトではどちらか一方です。どちらか一方を実行するコードがありますが、それらは関連していません。
ちなみに、これはまさにMyrrixです。まさにあなたが探しているもののように聞こえるので、ここでそれを宣伝してもかまいません。これは、このMahoutコードで始めた作業の進化形です。特に、Tasteのリアルタイム要素を備えているが、計算をHadoopクラスターに透過的にオフロードできる2層アーキテクチャーです。