カテゴリ:

DDLデータのロード/アンロード

ALTER FILE FORMAT

既存のファイル形式オブジェクトのプロパティを変更します。現在サポートされているアクションは、ファイル形式の名前変更、ファイル形式オプションの変更(タイプに基づく)、およびコメントの追加/変更のみです。他の変更を行うには、ファイル形式をドロップしてから再作成する必要があります。

こちらもご参照ください:

CREATE FILE FORMATSHOW FILE FORMATS

このトピックの内容:

構文

ALTER FILE FORMAT [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER FILE FORMAT [ IF EXISTS ] <name> SET { [ formatTypeOptions ] [ COMMENT = '<string_literal>' ] }

条件:

formatTypeOptions ::=
-- If TYPE = CSV
     COMPRESSION = AUTO | GZIP | BZ2 | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE
     RECORD_DELIMITER = '<character>' | NONE
     FIELD_DELIMITER = '<character>' | NONE
     FILE_EXTENSION = '<string>'
     SKIP_HEADER = <integer>
     SKIP_BLANK_LINES = TRUE | FALSE
     DATE_FORMAT = '<string>' | AUTO
     TIME_FORMAT = '<string>' | AUTO
     TIMESTAMP_FORMAT = '<string>' | AUTO
     BINARY_FORMAT = HEX | BASE64 | UTF8
     ESCAPE = '<character>' | NONE
     ESCAPE_UNENCLOSED_FIELD = '<character>' | NONE
     TRIM_SPACE = TRUE | FALSE
     FIELD_OPTIONALLY_ENCLOSED_BY = '<character>' | NONE
     NULL_IF = ( '<string>' [ , '<string>' ... ] )
     ERROR_ON_COLUMN_COUNT_MISMATCH = TRUE | FALSE
     REPLACE_INVALID_CHARACTERS = TRUE | FALSE
     VALIDATE_UTF8 = TRUE | FALSE
     EMPTY_FIELD_AS_NULL = TRUE | FALSE
     SKIP_BYTE_ORDER_MARK = TRUE | FALSE
     ENCODING = '<string>' | UTF8
-- If TYPE = JSON
     COMPRESSION = AUTO | GZIP | BZ2 | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE
     DATE_FORMAT = '<string>' | AUTO
     TIME_FORMAT = '<string>' | AUTO
     TIMESTAMP_FORMAT = '<string>' | AUTO
     BINARY_FORMAT = HEX | BASE64 | UTF8
     TRIM_SPACE = TRUE | FALSE
     NULL_IF = ( '<string>' [ , '<string>' ... ] )
     FILE_EXTENSION = '<string>'
     ENABLE_OCTAL = TRUE | FALSE
     ALLOW_DUPLICATE = TRUE | FALSE
     STRIP_OUTER_ARRAY = TRUE | FALSE
     STRIP_NULL_VALUES = TRUE | FALSE
     IGNORE_UTF8_ERRORS = TRUE | FALSE
     SKIP_BYTE_ORDER_MARK = TRUE | FALSE
-- If TYPE = AVRO
     COMPRESSION = AUTO | GZIP | BZ2 | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE
     TRIM_SPACE = TRUE | FALSE
     NULL_IF = ( '<string>' [ , '<string>' ... ] )
-- If TYPE = ORC
     TRIM_SPACE = TRUE | FALSE
     NULL_IF = ( '<string>' [ , '<string>' ... ] )
-- If TYPE = PARQUET
     COMPRESSION = AUTO | LZO | SNAPPY | NONE
     SNAPPY_COMPRESSION = TRUE | FALSE
     BINARY_AS_TEXT = TRUE | FALSE
     TRIM_SPACE = TRUE | FALSE
     NULL_IF = ( '<string>' [ , '<string>' ... ] )
-- If TYPE = XML
     COMPRESSION = AUTO | GZIP | BZ2 | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE
     IGNORE_UTF8_ERRORS = TRUE | FALSE
     PRESERVE_SPACE = TRUE | FALSE
     STRIP_OUTER_ELEMENT = TRUE | FALSE
     DISABLE_SNOWFLAKE_DATA = TRUE | FALSE
     DISABLE_AUTO_CONVERT = TRUE | FALSE
     SKIP_BYTE_ORDER_MARK = TRUE | FALSE
     TRIM_SPACE = TRUE | FALSE
     NULL_IF = ( '<string>' [ , '<string>' ... ] )

パラメーター

名前

変更するファイル形式の識別子を指定します。識別子にスペースまたは特殊文字が含まれる場合、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。

RENAME TO 新しい名前

ファイル形式の新しい識別子を指定します。スキーマに対して一意である必要があります。

詳細については、 識別子の要件 をご参照ください。

オブジェクトの名前を変更すると、そのオブジェクトを参照する他のオブジェクトも新しい名前で更新する必要があります。

SET ...

ファイル形式に設定するオプション/プロパティを指定します。

FILE_FORMAT = ( ... )

ファイル形式の形式固有のオプションを変更します。詳細については、 形式タイプオプション (このトピック)をご参照ください。

COMMENT = '文字列リテラル'

ファイル形式のコメントを追加するか、既存のコメントを上書きします。

形式タイプオプション(formatTypeOptions

指定したファイル形式タイプ(TYPE = ...)に応じて、次の形式固有のオプションを1つ以上含めることができます(空白、コンマ、または改行で区切る)。

TYPE = CSV

COMPRESSION = AUTO | GZIP | BZ2 | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE
使用

データのロードとアンロード

定義
  • データをロードするときに、データファイルの現在の圧縮アルゴリズムを指定します。Snowflakeはこのオプションを使用して、ファイル内の圧縮データをロード用に抽出できるように、 圧縮済み データファイルの圧縮方法を検出します。

  • データをアンロードする際、指定された圧縮アルゴリズムを使用してデータファイルを圧縮します。

サポートされる値

メモ

AUTO

データをロードすると、圧縮アルゴリズムは自動的に検出されますが、Brotliで圧縮されたファイルは例外で、現在は自動検出できません。データをアンロードするとき、ファイルはデフォルトのgzipを使用して自動的に圧縮されます。

GZIP

BZ2

BROTLI

Brotli圧縮ファイルをロード/アンロードする場合、指定する必要があります。

ZSTD

Zstandard v0.8(およびそれ以上)がサポートされています。

DEFLATE

Deflate圧縮されたファイル(zlibヘッダー、 RFC1950を使用)。

RAW_DEFLATE

生Deflate圧縮ファイル(ヘッダーなし、 RFC1951)。

NONE

データをロードするとき、ファイルが圧縮されていないことを示します。データをアンロードするとき、アンロードされたファイルが圧縮されないことを指定します。

デフォルト

AUTO

RECORD_DELIMITER = '文字' | NONE
使用

データのロードとアンロード

定義

入力ファイル(データのロード)またはアンロードされたファイル(データのアンロード)のレコードを分離する1つ以上のシングルバイトまたはマルチバイト文字。

一般的なエスケープシーケンス、8進値( \\ で始まる)、または16進値( 0x で始まる)を受け入れます。たとえば、ソーン(Þ)文字で区切られたレコードの場合、8進数(\\336)または16進数(0xDE)の値を指定します。 NONE の値も受け入れます。

指定された区切り文字は、ランダムなバイトのシーケンスではなく、有効な UTF-8文字でなければなりません。

複数文字の区切り文字もサポートされています。ただし、 RECORD_DELIMITER または FIELD_DELIMITER の区切り文字は、他のファイル形式オプション( FIELD_DELIMITER = 'aa' RECORD_DELIMITER = 'aabb' など)の区切り文字の部分文字列にはできません。区切り文字は最大20文字に制限されています。 ESCAPE または ESCAPE_UNENCLOSED_FIELD などの他のファイル形式オプションに使用される文字を指定しないでください。

デフォルト
データのロード

改行文字。「改行」は論理的であるため、 \r\n がWindowsプラットフォーム上のファイルの改行として理解されることに注意してください。

データのアンロード

改行文字(\n)。

FIELD_DELIMITER = '文字' | NONE
使用

データのロードとアンロード

定義

入力ファイル(データのロード)またはアンロードされたファイル(データのアンロード)のフィールドを区切る1つ以上のシングルバイトまたはマルチバイト文字。

一般的なエスケープシーケンス、8進値( \\ で始まる)、または16進値( 0x で始まる)を受け入れます。たとえば、ソーン(Þ)文字で区切られたフィールドの場合、8進数(\\336)または16進数(0xDE)の値を指定します。 NONE の値も受け入れます。

指定された区切り文字は、ランダムなバイトのシーケンスではなく、有効な UTF-8文字でなければなりません。

複数文字の区切り文字もサポートされています。ただし、 RECORD_DELIMITER または FIELD_DELIMITER の区切り文字は、他のファイル形式オプション( FIELD_DELIMITER = 'aa' RECORD_DELIMITER = 'aabb' など)の区切り文字の部分文字列にはできません。区切り文字は最大20文字に制限されています。 ESCAPE または ESCAPE_UNENCLOSED_FIELD などの他のファイル形式オプションに使用される文字を指定しないでください。

デフォルト

コンマ(,

FILE_EXTENSION = '文字列' | NONE
使用

データのアンロードのみ

定義

ステージにアンロードされるファイルの拡張子を指定します。拡張子を受け入れます。目的のソフトウェアまたはサービスが読み取れるファイル拡張子を指定することは、ユーザーの責任です。

デフォルト

null、つまり、ファイル拡張子は形式タイプ、 .csv[圧縮] によって決定されます。 圧縮 は、 COMPRESSION が設定されている場合、圧縮方法によって追加された拡張子です。

注釈

SINGLE コピーオプションが TRUE の場合、 COPY コマンドはデフォルトでファイル拡張子のないファイルをアンロードします。ファイル拡張子を指定するには、 内部ロケーション または 外部ロケーション パス(例: copy into @stage/data.csv)でファイル名と拡張子を指定します。

SKIP_HEADER = 整数
使用

データのロードのみ

定義

スキップするファイルの先頭の行数。

SKIP_HEADER は RECORD_DELIMITER または FIELD_DELIMITER の値を使用してヘッダー行を決定しないことに注意してください。むしろ、指定された数の CRLF (キャリッジリターン、ラインフィード)で区切られたファイル内の行を単にスキップします。ロードするデータの行を決定するのには、RECORD_DELIMITER および FIELD_DELIMITER が使用されます。

デフォルト

0

SKIP_BLANK_LINES = TRUE | FALSE
使用

データのロードのみ

定義

データファイルで検出された空白行をスキップすることを指定するブール値。それ以外の場合は、空白行はレコード終了エラーを生成します(デフォルトの動作)。

デフォルト: FALSE

DATE_FORMAT = '文字列' | AUTO
使用

データのロードとアンロード

定義

データファイル(データのロード)またはテーブル(データのアンロード)の日付値の形式を定義します。値が指定されていない、または AUTO の場合、 DATE_INPUT_FORMAT (データのロード)または DATE_OUTPUT_FORMAT (データのアンロード)パラメーターの値が使用されます。

デフォルト

AUTO

TIME_FORMAT = '文字列' | AUTO
使用

データのロードとアンロード

定義

データファイル(データのロード)またはテーブル(データのアンロード)の時間値の形式を定義します。値が指定されていない、または AUTO の場合、 TIME_INPUT_FORMAT (データのロード)または TIME_OUTPUT_FORMAT (データのアンロード)パラメーターの値が使用されます。

デフォルト

AUTO

TIMESTAMP_FORMAT = 文字列' | AUTO
使用

データのロードとアンロード

定義

データファイル(データのロード)またはテーブル(データのアンロード)のタイムスタンプ値の形式を定義します。値が指定されていない、または AUTO の場合、 TIMESTAMP_INPUT_FORMAT (データのロード)または TIMESTAMP_OUTPUT_FORMAT (データのアンロード)パラメーターの値が使用されます。

デフォルト

AUTO

BINARY_FORMAT = HEX | BASE64 | UTF8
使用

データのロードとアンロード

定義

バイナリ入力または出力のエンコード形式を定義します。このオプションは、テーブルのバイナリ列にデータをロードまたはアンロードするときに使用できます。

デフォルト

HEX

ESCAPE = '文字' | NONE
使用

データのロードとアンロード

定義

フィールド値のエスケープ文字として使用される1文字の文字列。エスケープ文字は、文字シーケンス内の後続の文字に対して代替解釈を呼び出します。ESCAPE 文字を使用して、データ内の FIELD_DELIMITERRECORD_DELIMITER、または FIELD_OPTIONALLY_ENCLOSED_BY 文字のインスタンスをリテラルとして解釈できます。エスケープ文字は、データ内のそれ自体のインスタンスをエスケープするためにも使用できます。

一般的なエスケープシーケンス、8進数値、または16進数値を受け入れます。

  • データをロードする際、囲まれたフィールドのエスケープ文字を指定します。 FIELD_OPTIONALLY_ENCLOSED_BY を設定して、フィールドを囲むのに使用する文字を指定します。

  • データをアンロードする際に、このオプションが設定されている場合は、 ESCAPE_UNENCLOSED_FIELD のエスケープ文字セットが上書きされます。

デフォルト

NONE

ESCAPE_UNENCLOSED_FIELD = '文字' | NONE
使用

データのロードとアンロード

定義

囲まれていないフィールド値専用のエスケープ文字として使用される単一の文字列。エスケープ文字は、文字シーケンス内の後続の文字に対して代替解釈を呼び出します。ESCAPE 文字を使用して、データ内の FIELD_DELIMITER または RECORD_DELIMITER 文字のインスタンスをリテラルとして解釈できます。エスケープ文字は、データ内のそれ自体のインスタンスをエスケープするためにも使用できます。

一般的なエスケープシーケンス、8進数値、または16進数値を受け入れます。

データをアンロードする際に、 ESCAPE が設定されている場合は、そのファイルオプションのエスケープ文字セットがこのオプションを上書きします。

デフォルト

バックスラッシュ(\\

TRIM_SPACE = TRUE | FALSE
使用

データのロードのみ

定義

フィールドから空白を削除するかどうかを指定するブール値。

たとえば、外部データベースソフトウェアがフィールドを引用符で囲み、先頭にスペースを挿入する場合、Snowflakeはフィールドの先頭として開始引用文字ではなく先頭スペースを読み取ります(つまり、引用符はフィールドデータの文字列の一部として解釈されます)。このオプションを TRUE に設定すると、データのロード中に不要なスペースが削除されます。

別の例として、先頭または後続のスペースが文字列を囲む引用符の前後にある場合、このオプションを使用して周囲のスペースを削除し、 FIELD_OPTIONALLY_ENCLOSED_BY オプションを使用して引用文字を削除できます。引用符 のスペースは保持されることに注意してください。例えば、 FIELD_DELIMITER = '|'FIELD_OPTIONALLY_ENCLOSED_BY = '"' を想定した場合:

|"Hello world"|    /* loads as */  >Hello world<
|" Hello world "|  /* loads as */  > Hello world <
| "Hello world" |  /* loads as */  >Hello world<

(この例のブラケットはロードされておらず、ロードされた文字列の開始と終了を区別するために使用されます)

デフォルト

FALSE

FIELD_OPTIONALLY_ENCLOSED_BY = '文字' | NONE
使用

データのロードとアンロード

定義

文字列を囲むのに使用される文字。値は、 NONE、一重引用符(')、または二重引用符(")のいずれかです。一重引用符を使用するには、8進数または16進数表現(0x27)または二重引用符で囲まれたエスケープ('')を使用します。

フィールドにこの文字が含まれる場合、同じ文字を使用してエスケープします。例えば、値が二重引用符であり、フィールドに文字列 A "B" C が含まれる場合、二重引用符を次のようにエスケープします。

A ""B"" C

デフォルト

NONE

NULL_IF = ( '文字列1' [ , '文字列2' , ... ] )
使用

データのロードとアンロード

定義

SQL NULLとの間の変換に使用される文字列。

  • データをロードする際、Snowflakeはデータロードソースのこれらの文字列を SQL NULLに置き換えます。複数の文字列を指定するには、文字列のリストを括弧で囲み、各値をコンマで区切ります。

    例:

    NULL_IF = ('\\N', 'NULL', 'NUL', '')

    このオプションには空の文字列を含めることができます。

  • データをアンロードする際、Snowflakeは SQL NULL 値をリストの最初の値に変換します。

デフォルト

\\N (つまり、 NULL、 ESCAPE_UNENCLOSED_FIELD 値が \\ であると想定)

ERROR_ON_COLUMN_COUNT_MISMATCH = TRUE | FALSE
使用

データのロードのみ

定義

入力ファイルの区切り列(フィールド)の数が対応するテーブルの列の数と一致しない場合に、解析エラーを生成するかどうかを指定するブール値。

FALSE に設定すると、エラーは生成されず、ロードが続行されます。ファイルが正常にロードされた場合:

  • 入力ファイルに、テーブル内の列よりもフィールド数が多いレコードが含まれている場合、一致するフィールドはファイル内の出現順にロードされ、残りのフィールドはロードされません。

  • 入力ファイルにテーブル内の列よりもフィールド数が少ないレコードが含まれている場合、テーブル内の一致しない列は NULL 値でロードされます。

このオプションは、入力ファイル内のすべてのレコードが同じ長さであることを前提としています(つまり、可変長のレコードを含むファイルは、このパラメーターに指定された値に関係なくエラーを返します)。

デフォルト

TRUE

注釈

ロード中にデータを変換する (つまり、 COPY コマンドのソースとしてクエリを使用する)場合、このオプションは無視されます。データファイルは、ターゲットテーブルと同数および同順序の列である必要はありません。

REPLACE_INVALID_CHARACTERS = TRUE | FALSE
使用

データのロードのみ

定義

無効な UTF -8文字をUnicode置換文字()で置き換えるかどうかを指定するブール値。

TRUE に設定すると、Snowflakeは無効な UTF -8文字をUnicode置換文字に置き換えます。

FALSE に設定すると、無効な UTF -8文字エンコードが検出されたときにロード操作でエラーが生成されます。

デフォルト

FALSE

VALIDATE_UTF8 = TRUE | FALSE
使用

データのロードのみ

定義

文字列列データの UTF-8文字エンコードを検証するかどうかを指定するブール値。

TRUE に設定すると、Snowflakeは文字列の列データの UTF-8文字エンコードを検証します。無効な UTF-8文字エンコードが検出されると、 COPY コマンドはエラーを生成します。

デフォルト

TRUE

重要

このオプションは、Snowflakeの以前のバージョンとの後方互換性を確保するためにのみ提供されています。Snowflakeサポートの指示がない限り、このオプションを 無効にしない でください。

EMPTY_FIELD_AS_NULL = TRUE | FALSE
使用

データのロードとアンロード

定義
  • データをロードするとき、2つの連続する区切り文字(例:,,)で表される入力ファイルの空のフィールドに、 SQL NULL を挿入するかどうかを指定します。

    FALSE に設定すると、Snowflakeは空のフィールドを対応する列タイプにキャストしようとします。タイプ STRINGの列に空の文字列が挿入されます。他の列タイプの場合、 COPY コマンドはエラーを生成します。

  • データをアンロードするとき、このオプションは FIELD_OPTIONALLY_ENCLOSED_BY と組み合わせて使用されます。 FIELD_OPTIONALLY_ENCLOSED_BY = NONE の場合、 EMPTY_FIELD_AS_NULL = FALSE を設定すると、テーブル内の空の文字列を、フィールド値を囲む引用符なしで空の文字列値にアンロードするように指定されます。

    TRUE に設定した場合、 FIELD_OPTIONALLY_ENCLOSED_BY は文字列を囲む文字を指定する必要があります。

デフォルト

TRUE

SKIP_BYTE_ORDER_MARK = TRUE | FALSE
使用

データのロードのみ

定義

データファイルに存在する場合、 BOM (バイト順マーク)をスキップするかどうかを指定するブール値。 BOM は、データファイルの先頭にある文字コードで、バイト順とエンコード形式を定義します。

FALSE に設定されている場合、Snowflakeはデータファイル内の BOM を認識し、 BOM がエラーの原因になるか、テーブルの最初の列にマージされる可能性があります。

デフォルト

TRUE

ENCODING = '文字列'
使用

データのロードのみ

定義

データをテーブルにロードする際にソースデータの文字セットを指定する文字列(定数)。

文字 セット

ENCODING 値

サポートされている言語

メモ

Big5

BIG5

中国語(繁体字)

EUC-JP

EUCJP

日本語

EUC-KR

EUCKR

韓国語

GB18030

GB18030

中国語

IBM420

IBM420

アラビア語

IBM424

IBM424

ヘブライ語

ISO-2022-CN

ISO2022CN

中国語(簡体字)

ISO-2022-JP

ISO2022JP

日本語

ISO-2022-KR

ISO2022KR

韓国語

ISO-8859-1

ISO88591

デンマーク語、オランダ語、英語、フランス語、ドイツ語、イタリア語、ノルウェー語、ポルトガル語、スウェーデン語

ISO-8859-2

ISO88592

チェコ語、ハンガリー語、ポーランド語、ルーマニア語

ISO-8859-5

ISO88595

ロシア語

ISO-8859-6

ISO88596

アラビア語

ISO-8859-7

ISO88597

ギリシャ語

ISO-8859-8

ISO88598

ヘブライ語

ISO-8859-9

ISO88599

トルコ語

KOI8-R

KOI8R

ロシア語

Shift_JIS

SHIFTJIS

日本語

UTF-8

UTF8

すべての言語

区切りファイル(CSV、 TSVなど)からデータをロードする場合、 UTF-8がデフォルトです。 . . サポートされている他のすべてのファイル形式(JSON、Avroなど)からデータをロードおよびアンロードする場合、サポートされる文字セットは UTF-8のみです。

UTF-16

UTF16

すべての言語

UTF-16BE

UTF16BE

すべての言語

UTF-16LE

UTF16LE

すべての言語

UTF-32

UTF32

すべての言語

UTF-32BE

UTF32BE

すべての言語

UTF-32LE

UTF32LE

すべての言語

windows-1250

WINDOWS1250

チェコ語、ハンガリー語、ポーランド語、ルーマニア語

windows-1251

WINDOWS1251

ロシア語

windows-1252

WINDOWS1252

デンマーク語、オランダ語、英語、フランス語、ドイツ語、イタリア語、ノルウェー語、ポルトガル語、スウェーデン語

windows-1253

WINDOWS1253

ギリシャ語

windows-1254

WINDOWS1254

トルコ語

windows-1255

WINDOWS1255

ヘブライ語

windows-1256

WINDOWS1256

アラビア語

デフォルト

UTF8

注釈

Snowflakeは、すべてのデータを UTF-8文字セットで内部に保存します。データは、Snowflakeにロードされる前に UTF-8に変換されます。 VALIDATE_UTF8 ファイル形式オプションが TRUE の場合、Snowflakeは、元の文字エンコードから変換された の文字列の列データの UTF-8文字エンコードを検証します。

TYPE = JSON

COMPRESSION = AUTO | GZIP | BZ2 | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE
使用

データのロードとアンロード

定義
  • データをロードするときに、データファイルの現在の圧縮アルゴリズムを指定します。Snowflakeはこのオプションを使用して、ファイル内の圧縮データをロード用に抽出できるように、 圧縮済み データファイルの圧縮方法を検出します。

  • データをアンロードする際、指定された圧縮アルゴリズムを使用してデータファイルを圧縮します。

サポートされる値

メモ

AUTO

データをロードすると、圧縮アルゴリズムは自動的に検出されますが、Brotliで圧縮されたファイルは例外で、現在は自動検出できません。データをアンロードするとき、ファイルはデフォルトのgzipを使用して自動的に圧縮されます。

GZIP

BZ2

BROTLI

Brotli圧縮ファイルをロード/アンロードする場合、指定する必要があります。

ZSTD

Zstandard v0.8(およびそれ以上)がサポートされています。

DEFLATE

Deflate圧縮されたファイル(zlibヘッダー、 RFC1950を使用)。

RAW_DEFLATE

生Deflate圧縮ファイル(ヘッダーなし、 RFC1951)。

NONE

データをロードするとき、ファイルが圧縮されていないことを示します。データをアンロードするとき、アンロードされたファイルが圧縮されないことを指定します。

デフォルト

AUTO

DATE_FORMAT = '文字列' | AUTO
使用

データのロードのみ

定義

JSON データを個別の列にロードするときにのみ適用されます(つまり、 MATCH_BY_COLUMN_NAME コピーオプションまたは COPY 変換を使用)。 データファイルの日付文字列値の形式を定義します。値が指定されていない場合、または AUTO の場合、 DATE_INPUT_FORMAT パラメーターの値が使用されます。

現在、このファイル形式オプションは プレビュー機能 です。

デフォルト

AUTO

TIME_FORMAT = '文字列' | AUTO
使用

データのロードのみ

定義

JSON データを個別の列にロードするときにのみ適用されます(つまり、 MATCH_BY_COLUMN_NAME コピーオプションまたは COPY 変換を使用)。 データファイルの時刻文字列値の形式を定義します。値が指定されていない場合、または AUTO の場合、 TIME_INPUT_FORMAT パラメーターの値が使用されます。

現在、このファイル形式オプションは プレビュー機能 です。

デフォルト

AUTO

TIMESTAMP_FORMAT = 文字列' | AUTO
使用

データのロードのみ

定義

JSON データを個別の列にロードするときにのみ適用されます(つまり、 MATCH_BY_COLUMN_NAME コピーオプションまたは COPY 変換を使用)。 データファイルのタイムスタンプ文字列値の形式を定義します。値が指定されていない場合、または AUTO の場合、 TIMESTAMP_INPUT_FORMAT パラメーターの値が使用されます。

現在、このファイル形式オプションは プレビュー機能 です。

デフォルト

AUTO

BINARY_FORMAT = HEX | BASE64 | UTF8
使用

データのロードのみ

定義

JSON データを個別の列にロードするときにのみ適用されます(つまり、 MATCH_BY_COLUMN_NAME コピーオプションまたは COPY 変換を使用)。 データファイルのバイナリ文字列値のエンコード形式を定義します。このオプションは、テーブルのバイナリ列にデータをロードするときに使用できます。

現在、このファイル形式オプションは プレビュー機能 です。

デフォルト

HEX

TRIM_SPACE = TRUE | FALSE
使用

データのロードのみ

定義

JSON データを個別の列にロードするときにのみ適用されます(つまり、 MATCH_BY_COLUMN_NAME コピーオプションまたは COPY 変換を使用)。 文字列から先頭および末尾の空白を削除するかどうかを指定するブール値です。

たとえば、外部データベースソフトウェアがフィールドを引用符で囲み、先頭にスペースを挿入する場合、Snowflakeはフィールドの先頭として開始引用文字ではなく先頭スペースを読み取ります(つまり、引用符はフィールドデータの文字列の一部として解釈されます)。このオプションを TRUE に設定すると、データのロード中に不要なスペースが削除されます。

現在、このファイル形式オプションは プレビュー機能 です。

デフォルト

FALSE

NULL_IF = ( '文字列1' [ , '文字列2' , ... ] )
使用

データのロードのみ

定義

JSON データを個別の列にロードするときにのみ適用されます(つまり、 MATCH_BY_COLUMN_NAME コピーオプションまたは COPY 変換を使用)。 SQL NULLとの間の変換に使用される文字列です。Snowflakeはデータロードソースのこれらの文字列を SQL NULLに置き換えます。複数の文字列を指定するには、文字列のリストを括弧で囲み、各値をコンマで区切ります。

例:

NULL_IF = ('\\N', 'NULL', 'NUL', '')

このオプションには空の文字列を含めることができます。

現在、このファイル形式オプションは プレビュー機能 です。

デフォルト

\\N (つまり、 NULL、 ESCAPE_UNENCLOSED_FIELD 値が \\ であると想定)

FILE_EXTENSION = '文字列' | NONE
使用

データのアンロードのみ

定義

ステージにアンロードされるファイルの拡張子を指定します。拡張子を受け入れます。目的のソフトウェアまたはサービスが読み取れるファイル拡張子を指定することは、ユーザーの責任です。

デフォルト

null。つまり、ファイル拡張子は形式タイプ: .json[圧縮] によって決定されます。 圧縮 は、 COMPRESSION が設定されている場合、圧縮方法によって追加された拡張子です。

ENABLE_OCTAL = TRUE | FALSE
使用

データのロードのみ

定義

8進数の解析を可能にするブール値。

デフォルト

FALSE

ALLOW_DUPLICATE = TRUE | FALSE
使用

データのロードのみ

定義

オブジェクトフィールド名の重複を許可することを指定するブール値(最後のフィールドのみが保持されます)。

デフォルト

FALSE

STRIP_OUTER_ARRAY = TRUE | FALSE
使用

データのロードのみ

定義

JSON パーサーに外側の括弧(つまり [ ])を削除するよう指示するブール値。

デフォルト

FALSE

STRIP_NULL_VALUES = TRUE | FALSE
使用

データのロードのみ

定義

null 値を含むオブジェクトフィールドまたは配列要素を削除するように JSON パーサーに指示するブール値。たとえば、 TRUE に設定されている場合:

[null]

[]

[null,null,3]

[,,3]

{"a":null,"b":null,"c":123}

{"c":123}

{"a":[1,null,2],"b":{"x":null,"y":88}}

{"a":[1,,2],"b":{"y":88}}

デフォルト

FALSE

IGNORE_UTF8_ERRORS = TRUE | FALSE
使用

データのロードのみ

定義

UTF-8エンコードエラーがエラー状態を引き起こすかどうかを指定するブール値。 TRUE に設定すると、無効な UTF-8シーケンスはUnicode文字 U+FFFD (「置換文字」)で警告なしに置き換えられます。

デフォルト

FALSE

SKIP_BYTE_ORDER_MARK = TRUE | FALSE
使用

データのロードのみ

定義

データファイルに存在する場合、 BOM (バイト順マーク)をスキップするかどうかを指定するブール値。 BOM は、データファイルの先頭にある文字コードで、バイト順とエンコード形式を定義します。

FALSE に設定されている場合、Snowflakeはデータファイル内の BOM を認識し、 BOM がエラーの原因になるか、テーブルの最初の列にマージされる可能性があります。

デフォルト

TRUE

TYPE = AVRO

COMPRESSION = AUTO | GZIP | BZ2 | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE
使用

データのロードとアンロード

定義
  • データをロードするときに、データファイルの現在の圧縮アルゴリズムを指定します。Snowflakeはこのオプションを使用して、ファイル内の圧縮データをロード用に抽出できるように、 圧縮済み データファイルの圧縮方法を検出します。

  • データをアンロードする際、指定された圧縮アルゴリズムを使用してデータファイルを圧縮します。

サポートされる値

メモ

AUTO

データをロードすると、圧縮アルゴリズムは自動的に検出されますが、Brotliで圧縮されたファイルは例外で、現在は自動検出できません。データをアンロードするとき、ファイルはデフォルトのgzipを使用して自動的に圧縮されます。

GZIP

BZ2

BROTLI

Brotli圧縮ファイルをロード/アンロードする場合、指定する必要があります。

ZSTD

Zstandard v0.8(およびそれ以上)がサポートされています。

DEFLATE

Deflate圧縮されたファイル(zlibヘッダー、 RFC1950を使用)。

RAW_DEFLATE

生Deflate圧縮ファイル(ヘッダーなし、 RFC1951)。

NONE

データをロードするとき、ファイルが圧縮されていないことを示します。データをアンロードするとき、アンロードされたファイルが圧縮されないことを指定します。

デフォルト

AUTO

TRIM_SPACE = TRUE | FALSE
使用

データのロードのみ

定義

Avroデータを個別の列にロードするときにのみ適用されます(つまり、 MATCH_BY_COLUMN_NAME コピーオプションまたは COPY 変換を使用)。 文字列から先頭および末尾の空白を削除するかどうかを指定するブール値です。

たとえば、外部データベースソフトウェアがフィールドを引用符で囲み、先頭にスペースを挿入する場合、Snowflakeはフィールドの先頭として開始引用文字ではなく先頭スペースを読み取ります(つまり、引用符はフィールドデータの文字列の一部として解釈されます)。このオプションを TRUE に設定すると、データのロード中に不要なスペースが削除されます。

現在、このファイル形式オプションは プレビュー機能 です。

デフォルト

FALSE

NULL_IF = ( '文字列1' [ , '文字列2' , ... ] )
使用

データのロードのみ

定義

Avroデータを個別の列にロードするときにのみ適用されます(つまり、 MATCH_BY_COLUMN_NAME コピーオプションまたは COPY 変換を使用)。 SQL NULLとの間の変換に使用される文字列です。Snowflakeはデータロードソースのこれらの文字列を SQL NULLに置き換えます。複数の文字列を指定するには、文字列のリストを括弧で囲み、各値をコンマで区切ります。

例:

NULL_IF = ('\\N', 'NULL', 'NUL', '')

このオプションには空の文字列を含めることができます。

現在、このファイル形式オプションは プレビュー機能 です。

デフォルト

\\N (つまり、 NULL、 ESCAPE_UNENCLOSED_FIELD 値が \\ であると想定)

TYPE = ORC

TRIM_SPACE = TRUE | FALSE
使用

データのロードのみ

定義

ORC データを個別の列にロードするときにのみ適用されます(つまり、 MATCH_BY_COLUMN_NAME コピーオプションまたは COPY 変換を使用)。 文字列から先頭および末尾の空白を削除するかどうかを指定するブール値です。

たとえば、外部データベースソフトウェアがフィールドを引用符で囲み、先頭にスペースを挿入する場合、Snowflakeはフィールドの先頭として開始引用文字ではなく先頭スペースを読み取ります(つまり、引用符はフィールドデータの文字列の一部として解釈されます)。このオプションを TRUE に設定すると、データのロード中に不要なスペースが削除されます。

現在、このファイル形式オプションは プレビュー機能 です。

デフォルト

FALSE

NULL_IF = ( '文字列1' [ , '文字列2' , ... ] )
使用

データのロードのみ

定義

ORC データを個別の列にロードするときにのみ適用されます(つまり、 MATCH_BY_COLUMN_NAME コピーオプションまたは COPY 変換を使用)。 SQL NULLとの間の変換に使用される文字列です。Snowflakeはデータロードソースのこれらの文字列を SQL NULLに置き換えます。複数の文字列を指定するには、文字列のリストを括弧で囲み、各値をコンマで区切ります。

例:

NULL_IF = ('\\N', 'NULL', 'NUL', '')

このオプションには空の文字列を含めることができます。

現在、このファイル形式オプションは プレビュー機能 です。

デフォルト

\\N (つまり、 NULL、 ESCAPE_UNENCLOSED_FIELD 値が \\ であると想定)

TYPE = PARQUET

COMPRESSION = AUTO | LZO | SNAPPY | NONE
使用

データのロードとアンロード

定義

  • データをロードするときに、Parquetファイルにある列の現在の圧縮アルゴリズムを指定します。

  • データをアンロードする際、指定された圧縮アルゴリズムを使用してデータファイルを圧縮します。

サポートされる値

メモ

AUTO

データをロードするときに、圧縮アルゴリズムが自動的に検出されました。対応する圧縮アルゴリズム:Brotli、gzip、Lempel–Ziv–Oberhumer(LZO)、 LZ4、Snappy、またはZstandard v0.8(およびそれ以上)。 . データをアンロードすると、アンロードされたファイルはデフォルトで Snappy 圧縮アルゴリズムを使用して圧縮されます。

LZO

データをアンロードするとき、ファイルはデフォルトでSnappyアルゴリズムを使用して圧縮されます。LZO 圧縮ファイルにデータをアンロードする場合は、この値を指定します。

SNAPPY

データをアンロードするとき、ファイルはデフォルトでSnappyアルゴリズムを使用して圧縮されます。オプションでこの値を指定できます。

NONE

データをロードするとき、ファイルが圧縮されていないことを示します。データをアンロードするとき、アンロードされたファイルが圧縮されないことを指定します。

デフォルト

AUTO

SNAPPY_COMPRESSION = TRUE | FALSE
使用

データのアンロードのみ

AUTO | アンロードされたファイルは、デフォルトで Snappy 圧縮アルゴリズムを使用して圧縮されます。 SNAPPY | Snappy圧縮ファイルをアンロードする場合に指定できます。 NONE | データをロードするときに、ファイルが圧縮されていないことを示します。データをアンロードするとき、アンロードされたファイルが圧縮されないことを指定します。

定義

アンロードされたファイルが SNAPPY アルゴリズムを使用して圧縮されるかどうかを指定するブール値。

注釈

非推奨。 代わりに COMPRESSION = SNAPPY を使用してください。

制限事項

データのアンロード操作についてのみサポートされています。

デフォルト

TRUE

BINARY_AS_TEXT = TRUE | FALSE
使用

データのロードのみ

定義

論理データ型が定義されていない列を UTF-8テキストとして解釈するかどうかを指定するブール値。 FALSE に設定すると、Snowflakeはこれらの列をバイナリデータとして解釈します。

制限事項

データロード操作についてのみサポートされています。

デフォルト

TRUE

TRIM_SPACE = TRUE | FALSE
使用

データのロードのみ

定義

Parquetデータを個別の列にロードするときにのみ適用されます(つまり、 MATCH_BY_COLUMN_NAME コピーオプションまたは COPY 変換を使用)。 文字列から先頭および末尾の空白を削除するかどうかを指定するブール値です。

たとえば、外部データベースソフトウェアがフィールドを引用符で囲み、先頭にスペースを挿入する場合、Snowflakeはフィールドの先頭として開始引用文字ではなく先頭スペースを読み取ります(つまり、引用符はフィールドデータの文字列の一部として解釈されます)。このオプションを TRUE に設定すると、データのロード中に不要なスペースが削除されます。

現在、このファイル形式オプションは プレビュー機能 です。

デフォルト

FALSE

NULL_IF = ( '文字列1' [ , '文字列2' , ... ] )
使用

データのロードのみ

定義

Parquetデータを個別の列にロードするときにのみ適用されます(つまり、 MATCH_BY_COLUMN_NAME コピーオプションまたは COPY 変換を使用)。 SQL NULLとの間の変換に使用される文字列です。Snowflakeはデータロードソースのこれらの文字列を SQL NULLに置き換えます。複数の文字列を指定するには、文字列のリストを括弧で囲み、各値をコンマで区切ります。

例:

NULL_IF = ('\\N', 'NULL', 'NUL', '')

このオプションには空の文字列を含めることができます。

現在、このファイル形式オプションは プレビュー機能 です。

デフォルト

\\N (つまり、 NULL、 ESCAPE_UNENCLOSED_FIELD 値が \\ であると想定)

TYPE = XML

COMPRESSION = AUTO | GZIP | BZ2 | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE
使用

データのロードとアンロード

定義
  • データをロードするときに、データファイルの現在の圧縮アルゴリズムを指定します。Snowflakeはこのオプションを使用して、ファイル内の圧縮データをロード用に抽出できるように、 圧縮済み データファイルの圧縮方法を検出します。

  • データをアンロードする際、指定された圧縮アルゴリズムを使用してデータファイルを圧縮します。

サポートされる値

メモ

AUTO

データをロードすると、圧縮アルゴリズムは自動的に検出されますが、Brotliで圧縮されたファイルは例外で、現在は自動検出できません。データをアンロードするとき、ファイルはデフォルトのgzipを使用して自動的に圧縮されます。

GZIP

BZ2

BROTLI

Brotli圧縮ファイルをロード/アンロードする場合、指定する必要があります。

ZSTD

Zstandard v0.8(およびそれ以上)がサポートされています。

DEFLATE

Deflate圧縮されたファイル(zlibヘッダー、 RFC1950を使用)。

RAW_DEFLATE

生Deflate圧縮ファイル(ヘッダーなし、 RFC1951)。

NONE

データをロードするとき、ファイルが圧縮されていないことを示します。データをアンロードするとき、アンロードされたファイルが圧縮されないことを指定します。

デフォルト

AUTO

IGNORE_UTF8_ERRORS = TRUE | FALSE
使用

データのロードのみ

定義

UTF-8エンコードエラーがエラー状態を引き起こすかどうかを指定するブール値。 TRUE に設定すると、無効な UTF-8シーケンスはUnicode文字 U+FFFD (「置換文字」)で警告なしに置き換えられます。

デフォルト

FALSE

PRESERVE_SPACE = TRUE | FALSE
使用

データのロードのみ

定義

XML パーサーが要素コンテンツの先頭と後続のスペースを保持するかどうかを指定するブール値。

デフォルト

FALSE

STRIP_OUTER_ELEMENT = TRUE | FALSE
使用

データのロードのみ

定義

XML パーサーが外側の XML 要素を取り除き、2番目のレベルの要素を個別のドキュメントとして公開するかどうかを指定するブール値。

デフォルト

FALSE

DISABLE_SNOWFLAKE_DATA = TRUE | FALSE
使用

データのロードのみ

定義

XML パーサーがSnowflake半構造化データタグの認識を無効にするかどうかを指定するブール値。

デフォルト

FALSE

DISABLE_AUTO_CONVERT = TRUE | FALSE
使用

データのロードのみ

定義

XML パーサーがテキストからネイティブ表現への数値およびブール値の自動変換を無効にするかどうかを指定するブール値。

デフォルト

FALSE

SKIP_BYTE_ORDER_MARK = TRUE | FALSE
使用

データのロードのみ

定義

入力ファイルに存在する BOM (バイト順マーク)をスキップするかどうかを指定するブール値。 BOM は、データファイルの先頭にある文字コードで、バイト順とエンコード形式を定義します。

FALSE に設定されている場合、Snowflakeはデータファイル内の BOM を認識し、 BOM がエラーの原因になるか、テーブルの最初の列にマージされる可能性があります。

デフォルト

TRUE

TRIM_SPACE = TRUE | FALSE
使用

データのロードのみ

定義

XML データを個別の列にロードするときにのみ適用されます(つまり、 MATCH_BY_COLUMN_NAME コピーオプションまたは COPY 変換を使用)。 文字列から先頭および末尾の空白を削除するかどうかを指定するブール値です。

たとえば、外部データベースソフトウェアがフィールドを引用符で囲み、先頭にスペースを挿入する場合、Snowflakeはフィールドの先頭として開始引用文字ではなく先頭スペースを読み取ります(つまり、引用符はフィールドデータの文字列の一部として解釈されます)。このオプションを TRUE に設定すると、データのロード中に不要なスペースが削除されます。

現在、このファイル形式オプションは プレビュー機能 です。

デフォルト

FALSE

NULL_IF = ( '文字列1' [ , '文字列2' , ... ] )
使用

データのロードのみ

定義

XML データを個別の列にロードするときにのみ適用されます(つまり、 MATCH_BY_COLUMN_NAME コピーオプションまたは COPY 変換を使用)。 SQL NULLとの間の変換に使用される文字列です。Snowflakeはデータロードソースのこれらの文字列を SQL NULLに置き換えます。複数の文字列を指定するには、文字列のリストを括弧で囲み、各値をコンマで区切ります。

例:

NULL_IF = ('\\N', 'NULL', 'NUL', '')

このオプションには空の文字列を含めることができます。

現在、このファイル形式オプションは プレビュー機能 です。

デフォルト

\\N (つまり、 NULL、 ESCAPE_UNENCLOSED_FIELD 値が \\ であると想定)

使用上の注意

  • ALTER FILE FORMAT 次のアクションはサポートしていません:

    • ファイル形式のタイプ(CSV、 JSONなど)の変更。

    • 形式オプションの設定解除(つまり、オプションをタイプのデフォルトにリセットする)。

    • コメントの設定解除(削除)。

    これらの変更を行うには、ファイル形式を再作成する必要があります。

ファイル形式の名前を my_format から my_new_format に変更します。

ALTER FILE FORMAT IF EXISTS my_format RENAME TO my_new_format;

my_format のフィールド区切り文字としてコンマ(,)を指定します( CREATE FILE FORMAT の例で作成)。

ALTER FILE FORMAT my_format SET FIELD_DELIMITER=',';