ステップ1:ファイル形式オブジェクトを作成する¶
S3バケットからテーブルにデータファイルをロードする場合は、ファイルの形式を記述し、ファイル内のデータを解釈および処理する方法を指定する必要があります。たとえば、 CSV ファイルからパイプで区切られたデータをロードする場合は、ファイルがパイプ記号を区切り文字として使用する CSV 形式を使用するように指定する必要があります。
COPY INTO <テーブル> コマンドを実行するときに、この形式情報を指定します。この情報をコマンドのオプション(例: TYPE = CSV
、 FIELD_DELIMITER = '|'
)として指定するか、この形式情報を含むファイル形式オブジェクトを指定できます。 CREATE FILE FORMAT コマンドを使用して、名前付きファイル形式オブジェクトを作成できます。
このステップでは、このチュートリアルで提供されるサンプル CSV および JSON データのデータ形式を記述するファイル形式オブジェクトを作成します。
CSV データのファイル形式オブジェクトの作成¶
CREATE FILE FORMAT コマンドを実行して、 mycsvformat
ファイル形式を作成します。
CREATE OR REPLACE FILE FORMAT mycsvformat
TYPE = 'CSV'
FIELD_DELIMITER = '|'
SKIP_HEADER = 1;
条件:
TYPE = 'CSV'
は、ソースファイル形式の種類を示します。CSV は、デフォルトのファイル形式の種類です。FIELD_DELIMITER = '|'
は、「|」がフィールド区切り文字であることを示します。デフォルト値は「,」です。SKIP_HEADER = 1
は、ソースファイルに1つのヘッダー行が含まれていることを示します。COPY コマンドは、データをロードするときにこれらのヘッダー行をスキップします。デフォルト値は0です。
JSON データのファイル形式オブジェクトの作成¶
CREATE FILE FORMAT コマンドを実行して、 myjsonformat
ファイル形式を作成します。
CREATE OR REPLACE FILE FORMAT myjsonformat TYPE = 'JSON' STRIP_OUTER_ARRAY = TRUE;
条件:
TYPE = 'JSON'
は、ソースファイル形式の種類を示します。STRIP_OUTER_ARRAY = TRUE
は、データをテーブルにロードするときにルートブラケット([])を除外するように COPY コマンドに指示します。