本記事では、OceanBase Cloudのデータインポート機能がサポートするファイル形式とエンコーディング形式について説明します。本記事を通じて、要件を満たすファイルを準備し、データをスムーズにOceanBase Cloudにインポートする方法を理解できます。
ファイルエンコーディング形式
OceanBase Cloudのデータインポート機能は、現在以下のファイルエンコーディング形式をサポートしています:
- UTF8
- UTF16
- UTF32
- ISO-8859-1
- ASCII
- GB2312
- GBK
- GB18030
ファイル形式
OceanBase Cloudのデータインポート機能は、現在以下のファイル形式をサポートしています:
- CSV(RFC-4180)
- INSERT SQL
- Apache Parquet(現在はOceanBaseのMySQLモードのみサポート)
- Apache ORC(現在はOceanBaseのMySQLモードのみサポート)
データインポート機能を使用して、OceanBase Cloudがサポートする単一ファイル内のデータを単一のデータテーブルにインポートできます。次に、各ファイル形式のインポートプロセスにおける具体的な制限事項と要件について詳しく説明します。
CSVファイル
OceanBase Cloudのデータインポート機能は、CSVファイルに対して以下の要件を設定しています:
以下の形式に準拠し、データファイルはRFC 4180仕様に厳密に従っている必要があります。詳細についてはRFC 4180仕様を参照してください。
- ファイル内の各行は1レコードです。
- 最初のレコードは、フィールド名とすることができます。
- コンマを区切り文字として使用し、コンマの前後の空白は無視されます。
- フィールドにコンマ、改行文字、空白、または二重引用符が含まれる場合は、そのフィールドの前後に二重引用符("")を付加する必要があります。
csvおよびtxt拡張子のファイルのみをサポートします。
バイナリデータを含まないこと。
CSV形式では、最大1GBのファイルのアップロードとインポートをサポートします。オブジェクトストレージでは、最大10GBのファイルのインポートをサポートします。
INSERT SQLファイル
OceanBase Cloudのデータインポート機能は、INSERT SQLファイルに対して以下の要件を設定しています:
- sqlおよびtxt拡張子のファイルのみをサポートします。
- sql形式では、最大1GBのファイルのアップロードとインポートをサポートします。オブジェクトストレージでは、最大10GBのファイルのインポートをサポートします。
- ファイルの内容はINSERT ... VALUESステートメントのみをサポートします。
- SQL内容が単一のテーブル名であるSQLファイルのみをサポートします。
OceanBase Cloudは、SQL内容に基づいてテーブル名を自動的に認識し、テーブル名が存在しない場合は新しいテーブルを作成してインポートします。OceanBase Cloudはデフォルトでプライマリキーを設定しません。1列または複数列をプライマリキーとして設定できます。プライマリキーを設定すると、デフォルトでフィールドのNULL不可制約が設定されます。
モード |
フィールド内容 |
制約 |
フィールドタイプ |
|---|---|---|---|
| OBMySQL | 数値 | デフォルトでNULLを許容 | int |
| 非数値 | デフォルトでNULLを許容 | varchar(N)、Nは文字長 | |
| OBOracle | 数値 | デフォルトでNULLを許容 | NUMBER |
| 非数値 | デフォルトでNULLを許容 | varchar(N)、Nは文字長 |
Apache Parquet
OceanBase Cloudのデータインポート機能は、Apache Parquetファイルに対して以下の要件を設定しています:
- 単一のparquetファイルから単一テーブルへのインポートをサポートします。
- parquet形式では、最大1GBのファイルのアップロードとインポートをサポートします。オブジェクトストレージでは、最大10GBのファイルのインポートをサポートします。
Apache ORC
OceanBase Cloudのデータインポート機能は、Apache ORCファイルに対して以下の要件を設定しています:
- 単一のorcファイルから単一テーブルへのインポートをサポートします。
- orc形式では、最大1GBのファイルのアップロードとインポートをサポートします。オブジェクトストレージでは、最大10GBのファイルのインポートをサポートします。