ステップ1:ファイル形式オブジェクトを作成する

S3バケットからテーブルにデータファイルをロードする場合は、ファイルの形式を記述し、ファイル内のデータを解釈および処理する方法を指定する必要があります。たとえば、 CSV ファイルからパイプで区切られたデータをロードする場合は、ファイルがパイプ記号を区切り文字として使用する CSV 形式を使用するように指定する必要があります。

COPY INTO <テーブル> コマンドを実行するときに、この形式情報を指定します。この情報をコマンドのオプション(例: TYPE = CSVFIELD_DELIMITER = '|')として指定するか、この形式情報を含むファイル形式オブジェクトを指定できます。 CREATE FILE FORMAT コマンドを使用して、名前付きファイル形式オブジェクトを作成できます。

このステップでは、このチュートリアルで提供されるサンプル CSV および JSON データのデータ形式を記述するファイル形式オブジェクトを作成します。

CSV データのファイル形式オブジェクトの作成

CREATE FILE FORMAT コマンドを実行して、 mycsvformat ファイル形式を作成します。

CREATE OR REPLACE FILE FORMAT mycsvformat
   TYPE = 'CSV'
   FIELD_DELIMITER = '|'
   SKIP_HEADER = 1;
Copy

条件:

  • 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;
Copy

条件:

  • TYPE = 'JSON' は、ソースファイル形式の種類を示します。

  • STRIP_OUTER_ARRAY = TRUE は、データをテーブルにロードするときにルートブラケット([])を除外するように COPY コマンドに指示します。

次: ステップ2:ステージオブジェクトを作成する