0

私はFileDataModelを Mahout のレコメンデーションの DataModel として使用しています。最初にベース ファイル (例: prefs.txt) を生成します。時々、更新ファイル (prefs.1.txt、prefs.2.txt、...) に書き込まれるいくつかの変更があります。

モデルにロードした後、古い更新ファイルを削除することはできますか? それらを(Windowsで)削除しようとすると、エクスプローラーは、ファイルが現在Javaによって使用されていると言っています。元のファイルを削除できないのはなぜですか? データは現在メモリに保存されているため、Mahout はファイルを必要としなくなったと思います。

4

1 に答える 1

2

古いファイルを再読み込みせず、新しい更新データのみを再読み込みします。ただし、最後に変更された時刻を探し続けるため、「メイン」データ ファイルが常にそこにあると想定しています。

一般的な考え方は、時々データ ファイルの完全なコピーをプッシュし、その間により頻繁に小さな更新ファイルをプッシュするというものです。そうすれば、期待どおりに機能するはずです。また、更新ファイルが読み込まれたら、それらを削除することもできます。

(もちろん、サーバーを再起動した場合は、最後のメイン データ ファイルと残っている更新ファイルからやり直す必要があり、不完全または矛盾している可能性があります。新しいメインをプッシュした後にのみ、更新を削除します。データファイル。)

それらが開いたままになることはないので、なぜそれらを削除できないのかわかりません。多分それは奇妙なWindowsのことです。

于 2012-05-09T13:35:05.457 に答える