私は最近、hadoop と HDFS について調べています。ファイルを HDFS にロードすると、通常はファイルが 64MB のチャンクに分割され、これらのチャンクがクラスター全体に分散されます。ただし、gzip されたファイルは分割できないため、gzip されたファイルではこれを実行できません。これが事実である理由を完全に理解しています(gzipファイルを分割できない理由を説明する必要はありません)。しかし、なぜ HDFS はプレーン テキスト ファイルを入力として取り、それを通常のように分割してから、gzip を使用して各分割を個別に圧縮できなかったのでしょうか? スプリットにアクセスすると、その場で解凍されます。
私のシナリオでは、各分割は完全に個別に圧縮されます。分割間に依存関係がないため、分割のいずれかを解凍するために元のファイル全体を必要としません。これがこのパッチのアプローチです: https://issues.apache.org/jira/browse/HADOOP-7076 、これは私が望むものではないことに注意してください。
これはかなり基本的なようです...何が欠けていますか?なぜこれができなかったのですか?あるいは、それが可能であるなら、なぜ Hadoop 開発者はこのルートを見下ろさなかったのでしょうか? HDFS で分割された gzip されたファイルを望んでいる人々に関して私が見つけた議論の量を考えると、奇妙に思えます。