ホームページ > バックエンド開発 > PHPチュートリアル > 2G ファイル内の各単語の頻度をカウントする方法

2G ファイル内の各単語の頻度をカウントする方法

WBOY
リリース: 2016-06-23 13:17:50
オリジナル
1130 人が閲覧しました

初心者は、2G ファイル内の各単語の頻度をカウントするときに問題に遭遇しました。メモリ制限を変更した後でも、「許容メモリ サイズ xxxx バイトが使い果たされました」というエラーが報告されます。結果は、合計を測定することで得られます。行数または文字数を最適化する方法

ディスカッションへの返信 (解決策)

貧弱なハードウェアを備えたコンピューターで 2G ファイルを開く方法はありません。メモリ不足になります。ストレージ上で分散設計を行います。

この問題は、ハードウェアが貧弱なコンピューターでは 2G ファイルを開くときにすべてのメモリを使い果たしてしまいます。ストレージ上で分散設計を行います。

このファイルをコードからいくつかの部分に分割し、バッチでカウントする方法はありますか? または、最も頻度の高い単語を出力するだけですか?


ファイルを小さなファイルに分割してカウントする方法はありますか?

テキスト ファイルのみが利用可能です 行の概念

テストした 2013.mp4 は明らかにテキスト ファイルではありません

n がファイル内に現れないか、遅れて現れる場合、$sOneLineWords = fgets($fp); はすべてを消費します。ログなどのテキストファイルであれば、大きなファイルを操作するために特別に使用されるPHPのSplFileObject()クラスを使用できます。以前、nginxのアクセスログを分析するためにこれを使用しました。 5G以上です。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート