データインポートの命名規則
TiDB Cloudには、CSV、Parquet、 Aurora Snapshot、SQLといったファイル形式でデータをインポートできます。データが正常にインポートされるようにするには、以下の2種類のファイルを準備する必要があります。
- スキーマファイル。データベーススキーマファイル(オプション)とテーブルスキーマファイルを、両方ともSQL形式(
.sql)で準備します。テーブルスキーマファイルが提供されていない場合は、対象データベースに該当するテーブルを事前に手動で作成する必要があります。 - データファイル。データインポート用の命名規則に準拠したデータファイルを用意してください。データファイル名が要件を満たしていない場合は、ファイルパターンを使用してインポートタスクを実行することをお勧めします。そうしないと、インポートタスクはインポート対象のデータファイルをスキャンできません。
スキーマファイルの命名規則
このセクションでは、データベースおよびテーブルのスキーマファイルの命名規則について説明します。スキーマファイルの命名規則は、CSV、Parquet、 Aurora Snapshot、SQLといったすべてのソースファイルの種類で共通です。
スキーマファイルの命名規則は以下のとおりです。
- データベーススキーマファイル(オプション):
${db_name}-schema-create.sql - テーブルスキーマファイル:
${db_name}.${table_name}-schema.sql
以下はデータベーススキーマファイルの例です。
名前:
import_db-schema-create.sqlファイルの内容:
CREATE DATABASE import_db;
以下はテーブルスキーマファイルの例です。
名前:
import_db.test_table-schema.sqlファイルの内容:
CREATE TABLE test_table ( id INTEGER PRIMARY KEY, val VARCHAR(255) );
データファイルの命名規則
このセクションでは、データファイルの命名規則について説明します。データファイルの命名規則は、ソースファイルの種類によって異なります。
CSV
CSVファイルをインポートする際は、データファイルに以下の名前を付けてください。
${db_name}.${table_name}${suffix}.csv.${compress}
${suffix}はオプションであり、 xxx任意の数字で、以下のいずれかの形式になります。
.xxx、例えば.01._xxx_xxx_xxx、例えば._0_0_01_xxx_xxx_xxx、例えば_0_0_01
${compress}は圧縮フォーマットであり、オプションです。TiDB Cloud は、 .gzip 、 .gz 、 .zstd 、 .zst 、および.snappy 。
例えば、以下のすべてのファイルのターゲットデータベースとテーブルはimport_dbとtest_tableです。
import_db.test_table.csvimport_db.test_table.01.csvimport_db.test_table._0_0_01.csvimport_db.test_table_0_0_01.csvimport_db.test_table_0_0_01.csv.gz
注記:
Snappy 圧縮ファイルは公式Snappyフォーマットに存在する必要があります。 Snappy 圧縮の他のバリアントはサポートされていません。
寄木細工
Parquetファイルをインポートする際は、データファイルに以下の名前を付けてください。
${db_name}.${table_name}${suffix}.parquet ( ${suffix}は省略可能です)
例えば:
import_db.test_table.parquetimport_db.test_table.01.parquet
Auroraのスナップショット
Aurora Snapshot ファイルの場合、 .parquetフォルダー内の${db_name}.${table_name}/サフィックスを持つすべてのファイルは、命名規則に準拠します。データファイル名には、「az、0-9、-、_、."」で構成される任意のプレフィックスとサフィックス「.parquet」を含めることができます。
例えば:
import_db.test_table/mydata.parquetimport_db.test_table/part001/mydata.parquetimport_db.test_table/part002/mydata-part002.parquet
SQL
SQLファイルをインポートする際は、データファイルに以下の名前を付けてください。
${db_name}.${table_name}${suffix}.sql.${compress}
${suffix}はオプションであり、 xxx任意の数字で、以下のいずれかの形式になります。
.xxx、例えば.01._xxx_xxx_xxx、例えば._0_0_01_xxx_xxx_xxx、例えば_0_0_01
${compress}は圧縮フォーマットであり、オプションです。TiDB Cloud は、 .gzip 、 .gz 、 .zstd 、 .zst 、および.snappy 。
例えば:
import_db.test_table.sqlimport_db.test_table.01.sqlimport_db.test_table.01.sql.gz
TiDB Dumplingを使用してデフォルト設定でSQLファイルをエクスポートした場合、デフォルトで命名規則に準拠します。
注記:
Snappy 圧縮ファイルは公式Snappyフォーマットに存在する必要があります。 Snappy 圧縮の他のバリアントはサポートされていません。
ファイルパターン
ソースデータファイル(CSVまたはParquet)が命名規則に準拠していない場合は、ファイル名パターンを使用してソースデータファイルをターゲットテーブルに手動でマッピングできます。この機能は、 Aurora SnapshotおよびSQLデータファイルには対応していません。
インポートウィザードの「宛先マッピング」ステップで、 「TiDB ファイル命名規則を使用して自動マッピングを行う」の選択を解除し、 「ソース」 、 「ターゲットデータベース」 、 「ターゲットテーブル」の各フィールドに入力します。「ソース」フィールドには*および?ワイルドカードをサポートするファイル名パターンを指定できます。
- CSV ファイルについてはステップ4. CSVファイルをTiDB Cloudにインポートする。
- Parquet ファイルについては、 ステップ4. ParquetファイルをTiDB Cloudにインポートする。