S3MaxObjectSizeの動作は、S3SinglePartFileの値によって異なります。
S3SinglePartFile=falseの場合:
S3MaxObjectSizeを使用すると、Teradata Access Module for S3を所定のサイズで次のFxxxxxxオブジェクト名に進むようにできます。デフォルト サイズはS3BufferSize*10000(つまり、デフォルトのS3BufferSizeが使用されている場合は約80ギガバイト)です。
- k (1000)
- K (1024)
- m (1000*1000)
- M (1024*1024)
例えば、S3MaxObjectSize=100mの場合、Teradata Access Module for S3は、100,000,000バイトに達したときに次のFxxxxxxオブジェクトに進みます。Teradata Access Module for S3は、常に整数個のTPTバッファを書き込みます。したがって、指定されたサイズに達する前にオブジェクトを閉じることができます。さらに、Teradata Access Module for S3は、各オブジェクトに少なくとも1つのバッファを書き込む必要があります。したがって、S3MaxObjectSizeの値が小さい場合でも、オブジェクトは1〜8メガバイトの範囲になる可能性があります。
SinglePartFile=trueの場合:
このシナリオでは、Fxxxxxオブジェクトは使用されません。代わりに、すべてのS3オブジェクトは、S3Objectパラメータで指定されたオブジェクトのベース名から派生されます。
S3オブジェクトは、個々のオブジェクト(Fxxxxxxパーツなし)として作成されます。各オブジェクトは、S3MaxObjectSizeパラメータで指定されたサイズを超えません。S3Object名のベース名の末尾に、一意の連続番号が(前にハイフンを付けて)追加されます。
例えば、S3Object=myweeklydataの場合、生成されるオブジェクト名はmyweeklydata-001、myweeklydata-002、myweeklydata-003、...、myweeklydata-nnnになります。
S3Object=myweeklydata.gzのようにファイル拡張子がある場合は、拡張子の前に連番が付けられます。したがって、生成されるオブジェクト名は、myweeklydata-001.gz、myweeklydata-002.gz、myweeklydata-003.gz、...、myweeklydata-nnn.gzになります。
S3Object=myweeklydata.csv.gzのように複数のファイル拡張子がある場合、連番は最初の拡張子の前に配置されます。したがって、生成されるオブジェクト名は、myweeklydata-001.csv.gz、myweeklydata-002.csv.gz、myweeklydata-003.csv.gz、...、myweeklydata-nnn.csv.gzになります。
この機能により、ワイルドカードを使用してオブジェクトを簡単に読み戻すことができます。
書き込みシナリオにDataConnectorオペレータの複数のインスタンスが指定されている場合、オブジェクト名の番号付けが-001、-002などで始まることを除いて、上記と同じ番号付けスキームが適用されます。インスタンスの数に応じて、各インスタンスはインスタンスの総数だけ連続番号を増やします。
- インスタンス1: myweeklydata-001、myweeklydata-004、myweeklydata-007、...
- インスタンス2: myweeklydata-002、myweeklydata-005、myweeklydata-008、...
- インスタンス3: myweeklydata-003、myweeklydata-006、myweeklydata-009、...
異なるインスタンスが異なる速度で実行できるため、いくつかのインスタンスが他のインスタンスよりも多くのデータを処理するので、連続番号にギャップが生じる可能性があります。