Amazon RDS の Amazon S3 へのエクスポートのファイル命名規則 - Amazon Relational Database Service

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 列がテーブルのプライマリキーで、その最小値と最大値が 1001000 であるとします。このテーブルを 9 つのパーティションでエクスポートしようとすると、次のような並列クエリで読み取られます。

    SELECT * FROM table WHERE id <= 100 AND id < 200 SELECT * FROM table WHERE id <= 200 AND id < 300

    これにより、part-00000-random_uuid.gz.parquet から part-00008-random_uuid.gz.parquet までの 9 つのファイルが生成されます。ただし、200350 の間に 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

ファイルの命名規則は変更されることがあります。したがって、ターゲットテーブルを読み込む場合は、テーブルのベースプレフィックス内のすべてを読み込むことをお勧めします。