圧縮と圧縮解除 - Access Module

Teradata® Tools and Utilities Access Moduleリファレンス

Product
Access Module
Release Number
17.10
Published
2021年10月
Language
日本語
Last Update
2021-11-16
dita:mapPath
ja-JP/uur1608578381725.ditamap
dita:ditavalPath
ja-JP/obe1474387269547.ditaval
dita:id
B035-2425
Product Category
Teradata Tools and Utilities

gzipデータ圧縮は、S3にあるオブジェクトの読み取り時および書き込み時にサポートされています。

エクスポートでは、オブジェクト名の末尾が".gz"である場合に、生成されたオブジェクトが圧縮されます。"S3SinglePartFile=True"であれば、圧縮された単一のオブジェクトが作成され、指定されている.gzで終わる名前になります。"S3SinglePartFile=False"であれば、F000000、F000001などのファイルが入っている見かけ上のディレクトリが、.gzで終わる名前になります。"見かけ上の"ディレクトリ内にある個々のオブジェクトには.gz拡張子は付きません。指定されたオブジェクトは.gzで終わっているため、オブジェクトは.gz拡張子が付いていない場合であっても圧縮されます。書き込み時にDontSplitRowsオプションが選択されていない場合、それらのオブジェクトを連結してから圧縮解除する必要があります。アクセス モジュールはロード時にその処理を自動的に行ないます。それらのオブジェクトを個別に圧縮解除することはできません。"aws s3 cp"を使用して手動でダウンロードした場合は、取得したピースを連結し、その結果のファイルに.gz拡張子を付ける必要があります。

インポートでは、オブジェクト名が.gzで終わる場合は圧縮解除されます。S3SinglePartFile=Falseでは、指定されたオブジェクト名が.gzで終わる場合は、すべてのFxxxxxxファイルが連結され単一オブジェクトであるかのように圧縮解除されます。これは、上述のエクスポートと同様に、Fxxxxxファイルが.gzで終わらない場合にも該当します。S3SinglePartFile=Trueでワイルドカードの指定を使用しない場合、オブジェクト名が.gzで終われば、そのオブジェクトの読み取り時に圧縮解除されます。S3SinglePartFile=Trueでワイルドカードの指定を使用する場合、個別の一致が点検され、.gz接尾辞の有無に応じて圧縮解除されるかまたはされません。

圧縮解除が必要な各オブジェクトは、個別に圧縮解除されます。任意選択の圧縮解除操作の後にオブジェクトが連結されて、Teradata Parallel Transporterに送られます。これは奇妙に思えるかもしれませんが、圧縮されているオブジェクトと圧縮されていないオブジェクトが混在することは許容されています。結果の連結はストリーミング操作であり、使用されるメモリ量に制限はなく、データはディスクには保存されません。この方法では、他のクラウド データベースの圧縮ファイル形式がサポートされています。例えば、単一のRedShiftエクスポート用にエクスポートされる.gz拡張子付きファイルのリストをこの方法で読み取ることができます。チェックポイント/再始動は圧縮オブジェクトに対して実装されていますが、再始動のシーク フェーズは、正しい位置が見つかるまでオブジェクトを読み取って圧縮解除することによって実装されます。このような処理でも、ほとんどの場合はジョブを最初から再始動するよりも速くなります。