7zip で圧縮された非常に巨大なファイルにランダム アクセス (多くのシーク) を行うことは可能ですか?
元のファイルは非常に巨大 (999 GB xml) で、解凍した形式で保存することはできません (あまり空き容量がありません)。したがって、7z 形式で、選択したブロックより前のすべてのブロックを解凍せずに中間ブロックにアクセスできる場合、ブロックの開始と対応する元のファイル オフセットのインデックスを作成できます。
私の7zアーカイブのヘッダーは
37 7A BC AF 27 1C 00 02 28 99 F1 9D 4A 46 D7 EA // 7z archive version 2;crc; n.hfr offset
00 00 00 00 44 00 00 00 00 00 00 00 F4 56 CF 92 // n.hdr offset; n.hdr size=44. crc
00 1E 1B 48 A6 5B 0A 5A 5D DF 57 D8 58 1E E1 5F
71 BB C0 2D BD BF 5A 7C A2 B1 C7 AA B8 D0 F5 26
FD 09 33 6C 05 1E DF 71 C6 C5 BD C0 04 3A B6 29
更新: 7z アーカイバーは、このファイルには LZMA アルゴリズムで圧縮された単一のデータ ブロックがあると述べています。テストでの解凍速度は 600 MB/秒 (解凍されたデータの) で、1 つの CPU コアのみが使用されます。