大きなファイルに対して基本操作を実行している&を解読しているgpg解読に問題があります。通常の暗号化解除されたファイルは、解読後に60G &であり、それは450Gに膨張する。gpg復号化ブロックサイズの制限
復号化後、rowcount(wc -l)はHDFSレイヤー内でのみ行われます。以下はコードスニペットです
rowCount=`hdfs dfs -cat ${hdfsDir}/{fileName} | decrypt | wc -l`
"decrypt"はgpg --decrypt ...コマンドに置き換えてください。私はそれを避けるためにここに書きませんでした。 2〜3Gigのような小さなサイズのファイルの場合、コードは正常に動作します。しかし、上記のサイズのような大きなファイルの場合、復号化には以下のエラーが発生します。
gpg: block_filter 0x7f2cf62547c0: read error (size=14560,a->size=14560)
gpg: block_filter 0x7f2cf624c990: read error (size=14900,a->size=14900)
gpg: mdc_packet with invalid encoding
gpg: decryption failed: Invalid packet
gpg: block_filter: pending bytes!
gpg: block_filter: pending bytes!
誰でも何が起こっているのでしょうか?
誤解がありますが、暗号化/復号化によってデータサイズが12バイト以上変更されることはありません。圧縮すると、ファイルのサイズが大幅に変更される可能性があります。それで、まさに何が起こっているのですか、その問題はあいまいです。小さなサイズのファイルで作業し、各ステップでデータを調べることを提案する。 [mcve]、 – zaph
を入力してください。私は、gpgの暗号化/復号化以外の他の圧縮アルゴリズムはないと思います。私は、暗号化/ decrytionを置けば、おそらくそれがより明確になるだろう、ここでコマンド: 暗号化: 'GPG --recipient [email protected] --encrypt' 復号化: '猫をFILENAME.gpg | gpg --batch --passphrase-file passPhraseFile --yes --recipient [email protected] --decrypt' ここで圧縮はありません。まったく。これが最初のための最小のものであることを望みます。 –
knowone
OK、gpgも圧縮を提供しますか?あなたがそれを使用しているなら、それを知っておくべきです。 – zaph