問題タブ [large-files]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - Git を使用した大きなバイナリ ファイルの管理
ソース コード (Web アプリケーション) が依存する大きなバイナリ ファイルの処理方法について意見を求めています。現在、いくつかの代替案について話し合っています。
- バイナリ ファイルを手動でコピーします。
- プロ: わかりません。
- 反対: 新しいサイトをセットアップしたり、古いサイトを移行したりするときにエラーが発生する可能性が高くなるため、私はこれに強く反対します。取るべき別のハードルを構築します。
- それらすべてをGitで管理します。
- 長所: 重要なファイルのコピーを「忘れる」可能性を排除します
- 反対: リポジトリが肥大化し、コードベースとチェックアウト、クローンなどを管理する柔軟性が低下します。これにはかなりの時間がかかります。
- 別々のリポジトリ。
- 長所: ソース コードのチェックアウト/クローン作成は相変わらず高速で、イメージは独自のリポジトリに適切にアーカイブされます。
- 反対:プロジェクトに唯一無二のGit リポジトリを持つという単純さを取り除きます。それは確かに私が考えていなかったいくつかの他のことを紹介します.
これに関するあなたの経験/考えは何ですか?
また、複数の Git リポジトリを使用し、それらを 1 つのプロジェクトで管理した経験のある人はいますか?
ファイルは、それらのファイルを含む PDF を生成するプログラムの画像です。ファイルは頻繁に変更されることはありません (数年単位) が、プログラムとの関連性は非常に高いものです。ファイルがないとプログラムは動作しません。
php - PHP を使用して大きなファイルを圧縮する
ファイルへのリンクをすべて含むチェックボックスがたくさんあるphpフォームがあります。ユーザーが必要なチェックボックス (ファイル) をクリックすると、ファイルが圧縮され、ダウンロードが強制されます。
簡単な php zip 強制ダウンロードが機能するようになりましたが、ファイルの 1 つが巨大な場合、または誰かがリスト全体を選択して圧縮してダウンロードすると、サーバーでエラーが発生します。
サーバーのサイズを増やすことができることは理解していますが、他に方法はありますか?
vim - vimで大きなファイルにスクロールするにはどうすればよいですか?
何千もの文字の何千もの行を含む大きなファイルがあります。
カーソルを3000文字目に移動します。
PageDownまたはCtrl+を使用するDと、ファイルはスクロールしますが、カーソルは最初のスペースなしの文字に戻ります。
そのようなスクロールの後にカーソルを同じ列に保持するように設定するオプションがありますか?
Windowではgvim、OpenVMSではvim 、Cygwinでは動作します。
java - Javaで大きなファイルを処理するためのヒントは何ですか
Java で大きなファイルに対して単純な grep やその他の操作を実行する必要があります。私は Java NIO ユーティリティにあまり詳しくありませんが、それを使用する必要があると思います。大きなファイルを読み書きするためのリソースや役立つヒントを教えてください。また、私は SWT アプリケーションに取り組んでおり、GUI のテキスト領域内にそのデータの一部を表示する必要があります。
c++ - expatパーサー:メモリ消費
私はexpatパーサーを使用して約15GBのXMLファイルを解析しています。問題は、「メモリ不足」エラーがスローされ、プログラムが異常終了することです。
ボディがエクスパットパーサーで同様の問題に直面しているのか、それとも既知のバグであり、後のバージョンで修正されているのかを知りたいですか?
linux - 非常に大きな sql ダンプ/テキスト ファイルを編集する (Linux の場合)
大きな mysql ダンプ (最大 10G) をインポートする必要があります。ただし、sql ダンプは、インデックス定義を持つデータベース構造で既に事前定義されています。インデックスとテーブルの定義を削除して、データベースの挿入を高速化したいと考えています。
つまり、 10Gテキスト ファイルの最初の数行を削除/編集する必要があります。Linuxでこれを行う最も効率的な方法は何ですか?
ファイル全体を RAM にロードする必要があるプログラムは、私にとってやり過ぎです。
java - Javaでソートされた(メモリマップト?)ファイルでのバイナリ検索
私はPerlプログラムをJavaに移植するのに苦労しており、Javaを学びながら進んでいます。元のプログラムの中心的なコンポーネントは、バイナリ検索を使用して+500 GBのソートされたテキストファイルで文字列プレフィックスルックアップを実行するPerlモジュールです(基本的に、ファイルの中央のバイトオフセットを「シーク」し、最も近い改行にバックトラックし、比較します)検索文字列の行プレフィックス、そのバイトオフセットの半分/ 2倍に「シーク」し、見つかるまで繰り返します...)
私はいくつかのデータベースソリューションを試しましたが、このサイズのデータセットを使用した場合のルックアップ速度でこれに勝るものはありません。そのような機能を実装する既存のJavaライブラリを知っていますか?それができない場合、ランダムアクセスがテキストファイルを読み取る慣用的なサンプルコードを教えていただけますか?
または、新しい(?)Java I / Oライブラリに精通していませんが、500 GBのテキストファイルをメモリマップして(メモリに余裕のある64ビットマシンを使用しています)、バイナリを実行するオプションはありますか?メモリマップトバイト配列を検索しますか?この問題や同様の問題についてあなたが共有しなければならない経験を聞いて非常に興味があります。
python - Python での巨大なファイルの読み取り
5000 万行の 384MB のテキスト ファイルがあります。各行には、スペースで区切られた 2 つの整数 (キーと値) が含まれます。ファイルはキーでソートされます。Python で約 200 個のキーのリストの値を効率的に検索する方法が必要です。
私の現在のアプローチは以下に含まれています。30秒かかります。これをせいぜい数秒という合理的な効率に抑えるには、より効率的な Python foo が必要です。
コード化された二分探索 + シーク ソリューション (ありがとう kigurai!):
text - 置換ペアの膨大なリストを使用して、テキストファイルで多くの置換を実行します
与えられた:
- 数百万行を含むファイル
a.txt
(たとえば、1行に1文)(2.6 GB! b.txt
ペアの830k行を含むファイル[word1] [word2]
質問:
巨大なテキストファイル内の830kタプル(w1、w2)ごとに、各word1をword2に最も効率的に置き換える方法は?
sed、perl、pythonなどの単純なメソッドは、そうするのに数週間かかるでしょう。その大量の置換を実行する(おそらく並列化ベースの)方法はありますか?