Amazon RDS の Amazon S3 へのエクスポートのファイル命名規則
特定のテーブルのエクスポートされたデータは、
の形式で保存されます。そのベースプレフィックスは次のとおりです。base_prefix
/files
export_identifier
/database_name
/schema_name
.table_name
/
例:
export-1234567890123-459/rdststdb/rdststdb.DataInsert_7ADB5D19965123A2/
ファイルを名付ける方法には、次の 2 つの規則があります。
-
現在の規則:
batch_index
/part-partition_index
-random_uuid
.format-based_extension
バッチインデックスは、テーブルから読み込まれたデータのバッチを表すシーケンス番号です。テーブルを小さなチャンクに分割し、並列でエクスポートできない場合は、複数のバッチインデックスになります。テーブルが複数のテーブルにパーティション化されている場合にも同じことが起こります。メインテーブルのテーブルパーティションごとに 1 つずつ、複数のバッチインデックスがあります。
テーブルを小さなチャンクに分割し、並列で読み取ることができる場合は、バッチインデックス
1
フォルダのみになります。バッチインデックスフォルダ内には、テーブルのデータを含む 1 つまたは複数の Parquet ファイルがあります。Parquet ファイル名のプレフィックスは
part-
です。テーブルがパーティション化されている場合、パーティションインデックスpartition_index
00000
で始まる複数のファイルになります。パーティションインデックスシーケンスにギャップが生じる可能性があります。これは、各パーティションがテーブル内の範囲クエリから取得されるためです。そのパーティションの範囲内にデータがない場合、そのシーケンス番号はスキップされます。
例えば、
id
列がテーブルのプライマリキーで、その最小値と最大値が100
と1000
であるとします。このテーブルを 9 つのパーティションでエクスポートしようとすると、次のような並列クエリで読み取られます。SELECT * FROM table WHERE id <= 100 AND id < 200 SELECT * FROM table WHERE id <= 200 AND id < 300
これにより、
part-00000-
からrandom_uuid
.gz.parquetpart-00008-
までの 9 つのファイルが生成されます。ただし、random_uuid
.gz.parquet200
と350
の間に ID を持つ行がない場合、完了したパーティションの 1 つが空になり、それに対するファイルも作成されません。前の例では、part-00001-
は作成されません。random_uuid
.gz.parquet -
以前の規則:
part-
partition_index
-random_uuid
.format-based_extension
これは現在の規則と同じですが、例えば、
プレフィックスは除きます。batch_index
part-00000-c5a881bb-58ff-4ee6-1111-b41ecff340a3-c000.gz.parquet part-00001-d7a881cc-88cc-5ab7-2222-c41ecab340a4-c000.gz.parquet part-00002-f5a991ab-59aa-7fa6-3333-d41eccd340a7-c000.gz.parquet
ファイルの命名規則は変更されることがあります。したがって、ターゲットテーブルを読み込む場合は、テーブルのベースプレフィックス内のすべてを読み込むことをお勧めします。