ALTER STAGE

既存の名前付きの内部または外部ステージのプロパティを変更します。

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

CREATE STAGEDROP STAGESHOW STAGESDESCRIBE STAGE

構文

ALTER STAGE [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER STAGE [ IF EXISTS ] <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]

ALTER STAGE <name> UNSET TAG <tag_name> [ , <tag_name> ... ]

-- Internal stage
ALTER STAGE [ IF EXISTS ] <name> SET
  { [ FILE_FORMAT = ( { FORMAT_NAME = '<file_format_name>' | TYPE = { CSV | JSON | AVRO | ORC | PARQUET | XML } [ formatTypeOptions ] } ) ]
    [ COPY_OPTIONS = ( copyOptions ) ]
    [ COMMENT = '<string_literal>' ] }

-- External stage
ALTER STAGE [ IF EXISTS ] <name> SET {
    [ externalStageParams ]
    [ FILE_FORMAT = ( { FORMAT_NAME = '<file_format_name>' | TYPE = { CSV | JSON | AVRO | ORC | PARQUET | XML } [ formatTypeOptions ] } ) ]
    [ COPY_OPTIONS = ( copyOptions ) ]
    [ COMMENT = '<string_literal>' ]
    }
Copy

条件:

externalStageParams (for Amazon S3) ::=
  [ URL = 's3://<bucket>[/<path>/]' ]
  [ { STORAGE_INTEGRATION = <integration_name> } | { CREDENTIALS = ( {  { AWS_KEY_ID = '<string>' AWS_SECRET_KEY = '<string>' [ AWS_TOKEN = '<string>' ] } | AWS_ROLE = '<string>'  } ) } ]
  [ ENCRYPTION = ( [ TYPE = 'AWS_CSE' ] [ MASTER_KEY = '<string>' ] |
                   [ TYPE = 'AWS_SSE_S3' ] |
                   [ TYPE = 'AWS_SSE_KMS' [ KMS_KEY_ID = '<string>' ] |
                   [ TYPE = 'NONE' ] ) ]
Copy
externalStageParams (for Google Cloud Storage) ::=
  [ URL = 'gcs://<bucket>[/<path>/]' ]
  [ STORAGE_INTEGRATION = <integration_name> } ]
  [ ENCRYPTION = ( [ TYPE = 'GCS_SSE_KMS' ] [ KMS_KEY_ID = '<string>' ] | [ TYPE = 'NONE' ] ) ]
Copy
externalStageParams (for Microsoft Azure) ::=
  [ URL = 'azure://<account>.blob.core.windows.net/<container>[/<path>/]' ]
  [ { STORAGE_INTEGRATION = <integration_name> } | { CREDENTIALS = ( [ AZURE_SAS_TOKEN = '<string>' ] ) } ]
  [ ENCRYPTION = ( [ TYPE = { 'AZURE_CSE' | 'NONE' } ] [ MASTER_KEY = '<string>' ] ) ]
Copy
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>'
     PARSE_HEADER = TRUE | FALSE
     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
     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
     REPLACE_INVALID_CHARACTERS = TRUE | FALSE
     IGNORE_UTF8_ERRORS = TRUE | FALSE
     SKIP_BYTE_ORDER_MARK = TRUE | FALSE
-- If TYPE = AVRO
     COMPRESSION = AUTO | GZIP | BROTLI | ZSTD | DEFLATE | RAW_DEFLATE | NONE
     TRIM_SPACE = TRUE | FALSE
     REPLACE_INVALID_CHARACTERS = TRUE | FALSE
     NULL_IF = ( '<string>' [ , '<string>' ... ] )
-- If TYPE = ORC
     TRIM_SPACE = TRUE | FALSE
     REPLACE_INVALID_CHARACTERS = TRUE | FALSE
     NULL_IF = ( '<string>' [ , '<string>' ... ] )
-- If TYPE = PARQUET
     COMPRESSION = AUTO | LZO | SNAPPY | NONE
     SNAPPY_COMPRESSION = TRUE | FALSE
     BINARY_AS_TEXT = TRUE | FALSE
     USE_LOGICAL_TYPE = TRUE | FALSE
     TRIM_SPACE = TRUE | FALSE
     REPLACE_INVALID_CHARACTERS = 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
     REPLACE_INVALID_CHARACTERS = TRUE | FALSE
     SKIP_BYTE_ORDER_MARK = TRUE | FALSE
Copy
copyOptions ::=
     ON_ERROR = { CONTINUE | SKIP_FILE | SKIP_FILE_<num> | 'SKIP_FILE_<num>%' | ABORT_STATEMENT }
     SIZE_LIMIT = <num>
     PURGE = TRUE | FALSE
     RETURN_FAILED_ONLY = TRUE | FALSE
     MATCH_BY_COLUMN_NAME = CASE_SENSITIVE | CASE_INSENSITIVE | NONE
     ENFORCE_LENGTH = TRUE | FALSE
     TRUNCATECOLUMNS = TRUE | FALSE
     FORCE = TRUE | FALSE
Copy

ディレクトリテーブルの構文

ALTER STAGE [ IF EXISTS ] <name> SET DIRECTORY = ( { ENABLE = TRUE | FALSE } )

ALTER STAGE [ IF EXISTS ] <name> REFRESH [ SUBPATH = '<relative-path>' ]
Copy

パラメーター

name

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

RENAME TO new_name

ステージの新しい識別子を指定します。スキーマに対して一意である必要があります。

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

オプションでオブジェクトの名前を変更して、オブジェクトを別のデータベースやスキーマに移動できます。これを実行するには、新しいデータベース名やスキーマ名をそれぞれ db_name.schema_name.object_name または schema_name.object_name の形式で含む、修飾された new_name 値を指定します。

注釈

  • 宛先データベースやスキーマはすでに存在している必要があります。また、同じ名前のオブジェクトが宛先データベースにすでに存在することはできません。存在する場合、ステートメントはエラーを返します。

  • オブジェクトを管理アクセススキーマに移動することは、オブジェクトの所有者(つまり、オブジェクトに対して OWNERSHIP 権限を持つロール)がターゲットスキーマも所有している場合を 除き 禁止されています。

SET ...

ステージに設定するオプション/プロパティを指定します。

URL = ' ... '. STORAGE_INTEGRATION = .... CREDENTIALS = ( ... ). ENCRYPTION = ( ... )

クラウド固有の URL、ストレージ統合または認証情報、および/または外部ステージの暗号化を変更します。詳細については、 外部ステージパラメーター (このトピック)をご参照ください。

FILE_FORMAT = ( FORMAT_NAME = 'file_format_name' ) または . FILE_FORMAT = ( TYPE = CSV | JSON | AVRO | ORC | PARQUET | XML [ ... ] )

次のいずれかのステージのファイル形式を変更します。

FORMAT_NAME = file_format_name

ステージに使用する既存のファイル形式オブジェクトを指定します。指定されたファイル形式オブジェクトは、データファイルの形式タイプ(CSV、 JSONなど)およびその他の形式オプションを決定します。

文字列には追加の形式オプションが指定されていないことに注意してください。代わりに、名前付きファイル形式オブジェクトは、データのロード/アンロードに使用される他のファイル形式オプションを定義します。詳細については、 CREATE FILE FORMAT をご参照ください。

TYPE = CSV | JSON | AVRO | ORC | PARQUET | XML [ ... ]

ステージのファイル形式の型を指定します。

  • ステージからのデータのロード( COPY INTO <テーブル> を使用)は、サポートされているすべてのファイル形式タイプに対応しています。

  • COPY INTO <場所> を使用して)ステージにデータをアンロードすることは、 CSV、 JSON、または PARQUETに対応します。

ファイル形式タイプが指定されている場合、追加の形式固有のオプションを変更できます。詳細については、 形式タイプオプション (このトピック)をご参照ください。

注釈

FORMAT_NAMETYPE は相互に排他的です。ステージに指定できるのはどちらか一方のみです。

COPY_OPTIONS = ( ... )

ファイル形式のコピーオプションを変更します(空白、カンマ、または改行で区切られます)。詳細については、 コピーオプション (このトピック内)をご参照ください。

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]

タグ の名前とタグ文字列の値を指定します。

タグ値は常に文字列であり、タグ値の最大文字数は256です。

ステートメントにあるタグの指定の詳細については、 オブジェクトおよび列のタグクォータ をご参照ください。

COMMENT = 'string_literal'

ステージのコメントを追加するか、既存のコメントを上書きします。

外部ステージパラメーター(externalStageParams

URL = 'cloud_specific_url'

ステージに URL がない場合、それは内部ステージです

警告

ステージの URL パラメーターを変更すると、ステージに依存するオブジェクトの次の機能が破損する可能性があります。

  • クラウドメッセージングを利用してデータロードをトリガーするパイプオブジェクト(つまり、 AUTO_INGEST = TRUE)。

  • クラウドメッセージングを利用してメタデータの更新をトリガーする外部テーブル(つまり、 AUTO_REFRESH = TRUE)。

Amazon S3

URL = 's3://bucket[/path/]'

ロード/アンロード用のデータファイルの保存に使用される外部ロケーション(既存のS3バケット)の URL を変更します。この場合:

  • bucket は、S3バケットの名前です。

    政府の地域などの非公開 AWS 地域のS3バケットはサポートされていないことに注意してください。

  • path は、ロードするファイルのセットを制限するクラウドストレージの場所にある、ファイルの大文字と小文字を区別するオプションのパスです(つまり、ファイルの名前は一般的な文字列で開始)。パスは、別のクラウドストレージサービスによって プレフィックス または フォルダー と呼ばれることもあります。

Google Cloud Storage

URL = 'gcs://bucket[/path/]'

ロード/アンロード用のデータファイルの保存に使用される外部ロケーション(既存の GCS バケット)の URL を変更します。この場合:

  • bucket は GCS バケットの名前です。

  • path は、ロードするファイルのセットを制限するクラウドストレージの場所にある、ファイルの大文字と小文字を区別するオプションのパスです(つまり、ファイルの名前は一般的な文字列で開始)。パスは、別のクラウドストレージサービスによって プレフィックス または フォルダー と呼ばれることもあります。

Microsoft Azure

URL = 'azure://account.blob.core.windows.net/container[/path/]'

ロード用データファイルの保存に使用する外部ロケーション(既存のAzureコンテナー)の URL を変更します。この場合、

  • account は、Azureアカウントの名前です(例: myaccount)。Data Lake Storage Gen2を含む、サポートされているすべてのタイプのAzure BLOBストレージアカウントに、 blob.core.windows.net エンドポイントを使用します。

  • container は、Azureコンテナーの名前です(例: mycontainer)。

  • path は、ロードするファイルのセットを制限するクラウドストレージの場所にある、ファイルの大文字と小文字を区別するオプションのパスです(つまり、ファイルの名前は一般的な文字列で開始)。パスは、別のクラウドストレージサービスによって プレフィックス または フォルダー と呼ばれることもあります。

STORAGE_INTEGRATION = integration_name または . CREDENTIALS = ( cloud_specific_credentials )

Amazon S3、Google Cloud Storage、またはMicrosoft Azureがプライベートの場合のみに必要です。公共のバケット/コンテナーには必要ありません

Amazon S3

STORAGE_INTEGRATION = integration_name

外部クラウドストレージの認証責任をSnowflake IDおよびアクセス管理(IAM)エンティティに委任するために使用されるストレージ統合の名前を指定します。詳細については、 CREATE STORAGE INTEGRATION をご参照ください。

注釈

ストレージ統合の使用を強くお勧めします。このオプションにより、ステージの作成時またはデータのロード時に CREDENTIALS パラメーターを使用してクラウドストレージの認証情報を提供する必要がなくなります。

CREDENTIALS = ( AWS_KEY_ID = 'string' AWS_SECRET_KEY = 'string' [ AWS_TOKEN = 'string' ] ) または . CREDENTIALS = ( AWS_ROLE = 'string' )

AWS に接続し、ロード/アンロードするファイルがステージングされるプライベートS3バケットにアクセスするためのセキュリティ認証情報を変更します。詳細については、 Amazon S3へのセキュアアクセスの構成 をご参照ください。

指定する認証情報は、バケットのSnowflakeアクセス許可を AWS IAM (識別およびアクセス管理)ユーザーまたはロールに関連付けたかどうかによって異なります。

  • IAM ユーザー: IAM 認証情報が必要です。仮の(別名「スコープ」)認証情報は AWS セキュリティトークンサービス(STS)によって生成され、次の3つのコンポーネントで構成されます。

    • AWS_KEY_ID

    • AWS_SECRET_KEY

    • AWS_TOKEN

    プライベートバケットにアクセスするには、3つすべてが 必要 です。指定された期間が経過すると、仮認証情報は期限切れになり、使用できなくなります。そうすると、有効な仮の認証情報の新しいセットを生成する必要があります。

    重要

    COPY コマンドは、永続的な(別名「長期」)認証情報の使用も許可します。ただし、セキュリティ上の理由から、Snowflakeはこれらの使用を推奨 しません 。永続的な認証情報を使用する必要がある場合、Snowflakeは外部ステージ用に新しい永続的な認証情報を定期的に生成することをお勧めします。

  • IAM ロール: セキュリティ認証情報とアクセスキーを省略し、代わりに AWS_ROLE を使用してロールを識別し、 AWS ロール ARN (Amazonリソース名)を指定します。

    重要

    AWS IAM ロールを使用してプライベートS3バケットにアクセスし、データをロードまたはアンロードする機能は廃止されました(つまり、サポートは将来のリリースで削除される予定)。この機能を使用する既存のS3ステージを変更して、代わりにストレージ統合オブジェクトを参照することを強くお勧めします。手順については、 オプション1:Amazon S3にアクセスするためのSnowflakeストレージ統合の構成 をご参照ください。

Google Cloud Storage

STORAGE_INTEGRATION = integration_name

外部クラウドストレージの認証責任をSnowflake IDおよびアクセス管理(IAM)エンティティに委任するために使用されるストレージ統合の名前を指定します。詳細については、 CREATE STORAGE INTEGRATION をご参照ください。

Microsoft Azure

STORAGE_INTEGRATION = integration_name

外部クラウドストレージの認証責任をSnowflake IDおよびアクセス管理(IAM)エンティティに委任するために使用されるストレージ統合の名前を指定します。詳細については、 CREATE STORAGE INTEGRATION をご参照ください。

注釈

ストレージ統合の使用を強くお勧めします。このオプションにより、ステージの作成時またはデータのロード時に CREDENTIALS パラメーターを使用してクラウドストレージの認証情報を提供する必要がなくなります。

CREDENTIALS = ( AZURE_SAS_TOKEN = 'string' )

Azureに接続し、ロードされたデータを含むファイルがステージングされるプライベートコンテナーにアクセスするための SAS (共有アクセス署名)トークンを変更します。認証情報はAzureによって生成されます。

ENCRYPTION = ( cloud_specific_encryption )

暗号化されたファイルからのロード/アンロードにのみ必要です。保存場所とファイルが暗号化されていない場合は不要

データのロード

ストレージの場所内の暗号化されたファイルを復号化し、データを抽出するために使用する暗号化設定を変更します。

データのアンロード

ストレージの場所にアンロードされたファイルの暗号化に使用する暗号化設定を変更します。

Amazon S3

ENCRYPTION = ( [ TYPE = 'AWS_CSE' ] [ MASTER_KEY = '<string>' ] | [ TYPE = 'AWS_SSE_S3' ] | [ TYPE = 'AWS_SSE_KMS' ] [ KMS_KEY_ID = '<string>' ] | [ TYPE = 'NONE' ] )

TYPE = ...

使用される暗号化タイプを指定します。可能な値は次のとおりです。

  • AWS_CSE: クライアント側の暗号化(MASTER_KEY 値が必要)。現在、提供できるクライアント側の マスターキー は対称キーのみです。 MASTER_KEY 値が指定されている場合、Snowflakeは TYPE = AWS_CSE と見なします(つまり、 MASTER_KEY 値が指定されている場合、 TYPE は不要です)。

  • AWS_SSE_S3 :追加の暗号化設定を必要としないサーバー側の暗号化。

  • AWS_SSE_KMS :オプションの KMS_KEY_ID 値を受け入れるサーバー側の暗号化。

暗号化タイプの詳細については、 クライアント側の暗号化 または サーバー側の暗号化 の AWS ドキュメントをご参照ください。

  • NONE :暗号化なし。

MASTER_KEY = 'string'AWS_CSE 暗号化のみに適用)

バケット内のファイルの暗号化に使用されたクライアント側マスターキーを指定します。マスターキーは、Base64エンコード形式の128ビットまたは256ビットキーである必要があります。

KMS_KEY_ID = 'string'AWS_SSE_KMS 暗号化のみに適用)

オプションで、バケットに アンロードされた ファイルの暗号化に使用する AWS KMS 管理キーの ID を指定します。値が指定されていない場合、デフォルトの KMS キー ID を使用して、アンロード時にファイルが暗号化されます。

この値はデータのロードでは無視されることに注意してください。

Google Cloud Storage

ENCRYPTION = ( [ TYPE = 'GCS_SSE_KMS' | 'NONE' ] [ KMS_KEY_ID = 'string' ] )

TYPE = ...

使用される暗号化タイプを指定します。可能な値は次のとおりです。

KMS_KEY_ID = 'string'GCS_SSE_KMS 暗号化のみに適用)

オプションで、バケットに アンロード されるファイルの暗号化に使用する KMS 管理キーの ID を指定します。値が指定されていない場合、バケットに対して設定されているデフォルトの KMS キー ID を使用して、アンロード時にファイルが暗号化されます。

この値はデータのロードでは無視されることに注意してください。サービスアカウントにバケット内のデータを復号化するための十分な権限がある場合、ロード操作は成功するはずです。

Microsoft Azure

ENCRYPTION = ( [ TYPE = 'AZURE_CSE' | 'NONE' ] [ MASTER_KEY = 'string' ] )

TYPE = ...

使用される暗号化タイプを指定します。可能な値は次のとおりです。

  • AZURE_CSE: クライアント側の暗号化(MASTER_KEY 値が必要)。詳細については、Microsoft Azureのドキュメントの クライアント側の暗号化情報 をご参照ください。

  • NONE :暗号化なし。

MASTER_KEY = 'string' (AZURE_CSE 暗号化のみに適用)

ファイルの暗号化または復号化に使用されるクライアント側マスターキーを指定します。マスターキーは、Base64エンコード形式の128ビットまたは256ビットキーである必要があります。

ディレクトリテーブルパラメーター

ENABLE = TRUE | FALSE

ディレクトリテーブルをステージに追加するかどうかを指定します。値が TRUE の場合は、ステージにディレクトリテーブルが作成されます。

注釈

このパラメーターを TRUE に設定することは、 S3互換の外部ステージ ではサポート されません。S3互換の外部ステージのメタデータを自動的にリフレッシュすることはできません。

デフォルト: FALSE

REFRESH

ディレクトリテーブル定義で参照されるステージングされたデータファイルにアクセスし、テーブルメタデータを更新します。

  • パス内の新しいファイルがテーブルメタデータに追加されます。

  • パス内のファイルへの変更は、テーブルメタデータで更新されます。

  • パス内になくなったファイルは、テーブルのメタデータから削除されます。

現在、ファイルがステージに追加、更新、またはドロップされるたびに、このコマンドを実行する必要があります。このステップでは、ディレクトリテーブルのステージ定義にある関連ファイルの最新セットとメタデータが同期されます。

SUBPATH = '<relative-path>'

任意で、相対パスを指定して、データファイルの特定のサブセットに対するメタデータを更新します。

形式の種類のオプション(formatTypeOptions

指定したファイル形式タイプ(FILE_FORMAT = ( 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 = 'character' | NONE
使用

データのロード、データのアンロード、および外部テーブル

定義

入力ファイル(データのロード)またはアンロードされたファイル(データのアンロード)の記録を分離する、1つ以上のシングルバイトまたはマルチバイト文字。一般的なエスケープシーケンス、または次のシングルバイトまたはマルチバイト文字を受け入れます。

シングルバイト文字

8進値(\\ でプレフィックス)、または16進値(0x または \x でプレフィックス)を受け入れます。たとえば、アクサンシルコンフレックス(^)文字で区切られた記録の場合は、8進数(\\136)または16進数(0x5e)の値を指定します。

マルチバイト文字

16進値(\x でプレフィックス)。たとえば、セント(¢)文字で区切られた記録の場合は、16進数(\xC2\xA2)の値を指定します。

RECORD_DELIMITER または FIELD_DELIMITER の区切り文字は、他のファイル形式オプション(例: FIELD_DELIMITER = 'aa' RECORD_DELIMITER = 'aabb')向けとして区切り文字の部分文字列にすることはできません。

指定された区切り文字は、ランダムなバイトのシーケンスではなく、有効な UTF-8文字でなければなりません。区切り文字は最大20文字に制限されていることにも注意してください。

NONE の値も受け入れます。

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

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

データのアンロード

改行文字(\n)。

FIELD_DELIMITER = 'character' | NONE
使用

データのロード、データのアンロード、および外部テーブル

定義

入力ファイル(データのロード)またはアンロードされたファイル(データのアンロード)のフィールドを区切る1つ以上のシングルバイトまたはマルチバイト文字。一般的なエスケープシーケンス、または次のシングルバイトまたはマルチバイト文字を受け入れます。

シングルバイト文字

8進値(\\ でプレフィックス)、または16進値(0x または \x でプレフィックス)を受け入れます。たとえば、アクサンシルコンフレックス(^)文字で区切られた記録の場合は、8進数(\\136)または16進数(0x5e)の値を指定します。

マルチバイト文字

16進値(\x でプレフィックス)。たとえば、セント(¢)文字で区切られた記録の場合は、16進数(\xC2\xA2)の値を指定します。

RECORD_DELIMITER または FIELD_DELIMITER の区切り文字は、他のファイル形式オプション(例: FIELD_DELIMITER = 'aa' RECORD_DELIMITER = 'aabb')向けとして区切り文字の部分文字列にすることはできません。

注釈

ASCII 以外の文字の場合は、16進数のバイトシーケンス値を使用して決定論的動作を得る必要があります。

指定された区切り文字は、ランダムなバイトのシーケンスではなく、有効な UTF-8文字でなければなりません。区切り文字は最大20文字に制限されていることにも注意してください。

NONE の値も受け入れます。

デフォルト

コンマ(,

FILE_EXTENSION = 'string' | NONE
使用

データのアンロードのみ

定義

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

デフォルト

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

注釈

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

PARSE_HEADER = TRUE | FALSE
使用

データのロードのみ

定義

データファイルにある最初の行のヘッダーを使用して列名を決定するかどうかを指定するブール値。

このファイル形式オプションは、次のアクションにのみ適用されます。

  • INFER_SCHEMA 関数を使用した、列定義の自動検出。

  • INFER_SCHEMA 関数と MATCH_BY_COLUMN_NAME コピーオプションを使用した、個別の列への CSV データロード。

オプションが TRUE に設定されている場合は、最初の行のヘッダーが列名を決定するために使われます。デフォルト値 FALSE は、列名をc として返します。 は列の位置です。

なお、 SKIP_HEADER オプションは、 PARSE_HEADER = TRUE ではサポートされません。

デフォルト: FALSE

SKIP_HEADER = integer
使用

データのロードおよび外部テーブル

定義

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

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

デフォルト

0

SKIP_BLANK_LINES = TRUE | FALSE
使用

データのロードおよび外部テーブル

定義

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

デフォルト: FALSE

DATE_FORMAT = 'string' | AUTO
使用

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

定義

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

デフォルト

AUTO

TIME_FORMAT = 'string' | AUTO
使用

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

定義

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

デフォルト

AUTO

TIMESTAMP_FORMAT = string' | AUTO
使用

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

定義

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

デフォルト

AUTO

BINARY_FORMAT = HEX | BASE64 | UTF8
使用

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

定義

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

デフォルト

HEX

ESCAPE = 'character' | NONE
使用

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

定義

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

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

データのロード

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

注釈

このファイル形式オプションは、シングルバイト文字のみをサポートします。UTF-8文字エンコードは、上位の ASCII 文字をマルチバイト文字として表すことに注意してください。データファイルが UTF-8文字セットでエンコードされている場合は、オプション値として上位の ASCII 文字を指定することはできません。

さらに、上位の ASCII 文字を指定する場合は、データファイルの文字エンコードとして ENCODING = 'string' ファイル形式オプションを設定して、文字が正しく解釈されるようにすることをお勧めします。

データのアンロード

このオプションが設定されている場合は、 ESCAPE_UNENCLOSED_FIELD のエスケープ文字セットが上書きされます。

デフォルト

NONE

ESCAPE_UNENCLOSED_FIELD = 'character' | NONE
使用

データのロード、データのアンロード、および外部テーブル

定義

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

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

データのロード

囲まれていないフィールド専用のエスケープ文字を指定します。

注釈

  • デフォルト値は \\ です。データファイルの行がバックスラッシュ(\)文字で終わる場合、この文字は RECORD_DELIMITER ファイル形式オプションに指定された改行文字または復帰文字をエスケープします。その結果、ロード操作はこの行と次の行を単一のデータ行として扱います。この問題を回避するには、この値を NONE に設定します。

  • このファイル形式オプションは、シングルバイト文字のみをサポートします。UTF-8文字エンコードは、上位の ASCII 文字をマルチバイト文字として表すことに注意してください。データファイルが UTF-8文字セットでエンコードされている場合は、オプション値として上位の ASCII 文字を指定することはできません。

    さらに、上位の ASCII 文字を指定する場合は、データファイルの文字エンコードとして ENCODING = 'string' ファイル形式オプションを設定して、文字が正しく解釈されるようにすることをお勧めします。

データのアンロード

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

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

デフォルト

FALSE

FIELD_OPTIONALLY_ENCLOSED_BY = 'character' | NONE
使用

データのロード、データのアンロード、および外部テーブル

定義

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

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

A ""B"" C

デフォルト

NONE

NULL_IF = ( 'string1' [ , 'string2' , ... ] )
使用

データのロード、データのアンロード、および外部テーブル

定義

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

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

    Snowflakeは、データ型に関係なく、値のすべてのインスタンスを NULL に変換することに注意してください。たとえば、 2 が値として指定されている場合は、文字列または数値としての 2 のインスタンスすべてが変換されます。

    例:

    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

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 = 'string'
使用

データのロードおよび外部テーブル

定義

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

文字 セット

ENCODING 値

サポートされている言語

メモ

Big5

BIG5

中国語(繁体字)

EUC-JP

EUCJP

日本語

EUC-KR

EUCKR

韓国語

GB18030

GB18030

中国語

IBM420

IBM420

アラビア語

IBM424

IBM424

ヘブライ語

IBM949

IBM949

韓国語

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

トルコ語

ISO-8859-15

ISO885915

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

ユーロ通貨記号を含む8文字を除いて、 ISO-8859-1と同じです。

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-949

WINDOWS949

韓国語

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に変換されます。

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 = 'string' | AUTO
使用

データのロードのみ

定義

データファイルの日付文字列値の形式を定義します。値が指定されていない場合、または AUTO の場合は、 DATE_INPUT_FORMAT パラメーターの値が使用されます。

このファイル形式オプションは、次のアクションにのみ適用されます。

  • MATCH_BY_COLUMN_NAME コピーオプションを使用して、 JSON データを個別の列にロードします。

  • COPY ステートメント(つまり、 COPY 変換)でクエリを指定して、 JSON データを個別の列にロードします。

デフォルト

AUTO

TIME_FORMAT = 'string' | AUTO
使用

データのロードのみ

定義

データファイルの時間文字列値の形式を定義します。値が指定されていない場合、または AUTO の場合は、 TIME_INPUT_FORMAT パラメーターの値が使用されます。

このファイル形式オプションは、次のアクションにのみ適用されます。

  • MATCH_BY_COLUMN_NAME コピーオプションを使用して、 JSON データを個別の列にロードします。

  • COPY ステートメント(つまり、 COPY 変換)でクエリを指定して、 JSON データを個別の列にロードします。

デフォルト

AUTO

TIMESTAMP_FORMAT = string' | AUTO
使用

データのロードのみ

定義

データファイルのタイムスタンプ文字列値の形式を定義します。値が指定されていない場合、または AUTO の場合は、 TIMESTAMP_INPUT_FORMAT パラメーターの値が使用されます。

このファイル形式オプションは、次のアクションにのみ適用されます。

  • MATCH_BY_COLUMN_NAME コピーオプションを使用して、 JSON データを個別の列にロードします。

  • COPY ステートメント(つまり、 COPY 変換)でクエリを指定して、 JSON データを個別の列にロードします。

デフォルト

AUTO

BINARY_FORMAT = HEX | BASE64 | UTF8
使用

データのロードのみ

定義

データファイル内のバイナリ文字列値のエンコード形式を定義します。このオプションは、テーブルのバイナリ列にデータをロードするときに使用できます。

このファイル形式オプションは、次のアクションにのみ適用されます。

  • MATCH_BY_COLUMN_NAME コピーオプションを使用して、 JSON データを個別の列にロードします。

  • COPY ステートメント(つまり、 COPY 変換)でクエリを指定して、 JSON データを個別の列にロードします。

デフォルト

HEX

TRIM_SPACE = TRUE | FALSE
使用

データのロードのみ

定義

文字列から先頭と末尾の空白を削除するかどうかを指定するブール値。

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

このファイル形式オプションは、 MATCH_BY_COLUMN_NAME コピーオプションを使用して JSON データを個別の列にロードする場合にのみ、次のアクションに適用されます。

デフォルト

FALSE

NULL_IF = ( 'string1' [ , 'string2' , ... ] )
使用

データのロードのみ

定義

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

このファイル形式オプションは、 MATCH_BY_COLUMN_NAME コピーオプションを使用して JSON データを個別の列にロードする場合にのみ、次のアクションに適用されます。

Snowflakeは、データ型に関係なく、値のすべてのインスタンスを NULL に変換することに注意してください。たとえば、 2 が値として指定されている場合は、文字列または数値としての 2 のインスタンスすべてが変換されます。

例:

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

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

デフォルト

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

FILE_EXTENSION = 'string' | NONE
使用

データのアンロードのみ

定義

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

デフォルト

null、つまり、ファイル拡張子は形式タイプ .json[compression] によって決定されます。ここで、 compression は、 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

REPLACE_INVALID_CHARACTERS = TRUE | FALSE
使用

データのロードおよび外部テーブル

定義

無効な UTF -8文字をUnicode置換文字()で置き換えるかどうかを指定するブール値。このオプションは、1対1の文字置換を実行します。

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

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

デフォルト

FALSE

IGNORE_UTF8_ERRORS = TRUE | FALSE
使用

データのロードおよび外部テーブル

定義

UTF-8エンコードエラーがエラー状態を引き起こすかどうかを指定するブール値。 REPLACE_INVALID_CHARACTERS の代替構文です。

TRUE に設定すると、無効な UTF-8シーケンスはUnicode文字 U+FFFD (つまり、「置換文字」)で警告なしに置き換えられます。

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

デフォルト

FALSE

SKIP_BYTE_ORDER_MARK = TRUE | FALSE
使用

データのロードのみ

定義

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

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

デフォルト

TRUE

TYPE = AVRO

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

データのロードのみ

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

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

サポートされる値

メモ

AUTO

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

GZIP

BROTLI

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

ZSTD

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

DEFLATE

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

RAW_DEFLATE

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

NONE

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

デフォルト

AUTO

注釈

ファイル圧縮とコーデック圧縮の両方が決定されるため、デフォルトの AUTO オプションを使用することをお勧めします。圧縮オプションの指定は、ブロック(コーデック)の圧縮ではなく、ファイルの圧縮を意味します。

TRIM_SPACE = TRUE | FALSE
使用

データのロードのみ

定義

文字列から先頭と末尾の空白を削除するかどうかを指定するブール値。

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

このファイル形式オプションは、 MATCH_BY_COLUMN_NAME コピーオプションを使用してAvroデータを個別の列にロードする場合にのみ、次のアクションに適用されます。

デフォルト

FALSE

REPLACE_INVALID_CHARACTERS = TRUE | FALSE
使用

データのロードおよび外部テーブル

定義

無効な UTF -8文字をUnicode置換文字()で置き換えるかどうかを指定するブール値。このオプションは、1対1の文字置換を実行します。

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

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

デフォルト

FALSE

NULL_IF = ( 'string1' [ , 'string2' , ... ] )
使用

データのロードのみ

定義

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

このファイル形式オプションは、 MATCH_BY_COLUMN_NAME コピーオプションを使用してAvroデータを個別の列にロードする場合にのみ、次のアクションに適用されます。

Snowflakeは、データ型に関係なく、値のすべてのインスタンスを NULL に変換することに注意してください。たとえば、 2 が値として指定されている場合は、文字列または数値としての 2 のインスタンスすべてが変換されます。

例:

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

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

デフォルト

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

TYPE = ORC

TRIM_SPACE = TRUE | FALSE
使用

データのロードおよび外部テーブル

定義

文字列から先頭と末尾の空白を削除するかどうかを指定するブール値。

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

このファイル形式オプションは、 MATCH_BY_COLUMN_NAME コピーオプションを使用してOrcデータを個別の列にロードする場合にのみ、次のアクションに適用されます。

デフォルト

FALSE

REPLACE_INVALID_CHARACTERS = TRUE | FALSE
使用

データのロードおよび外部テーブル

定義

無効な UTF -8文字をUnicode置換文字()で置き換えるかどうかを指定するブール値。このオプションは、1対1の文字置換を実行します。

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

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

デフォルト

FALSE

NULL_IF = ( 'string1' [ , 'string2' , ... ] )
使用

データのロードおよび外部テーブル

定義

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

このファイル形式オプションは、 MATCH_BY_COLUMN_NAME コピーオプションを使用してOrcデータを個別の列にロードする場合にのみ、次のアクションに適用されます。

Snowflakeは、データ型に関係なく、値のすべてのインスタンスを NULL に変換することに注意してください。たとえば、 2 が値として指定されている場合は、文字列または数値としての 2 のインスタンスすべてが変換されます。

例:

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

注釈

Snowflakeは、潜在的な変換の問題を回避するために、 BINARY_AS_TEXT を FALSE に設定することをお勧めします。

TRIM_SPACE = TRUE | FALSE
使用

データのロードのみ

定義

文字列から先頭と末尾の空白を削除するかどうかを指定するブール値。

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

このファイル形式オプションは、 MATCH_BY_COLUMN_NAME コピーオプションを使用してParquetデータを個別の列にロードする場合にのみ、次のアクションに適用されます。

デフォルト

FALSE

USE_LOGICAL_TYPE = TRUE | FALSE
使用

データのロード、ステージングされたファイルでのデータクエリ、スキーマ検出。

定義

Parquet論理型を使用するかどうかを指定するブール値。このファイル形式オプションを使用すると、Snowflakeはデータのロード中にParquet論理型を解釈できます。詳細については、 Parquet理論型の定義 をご参照ください。Parquet論理型を有効にするには、新しいファイル形式オプションを作成するときに USE_LOGICAL_TYPE を TRUE に設定します。

制限事項

データのアンロードには対応していません。

REPLACE_INVALID_CHARACTERS = TRUE | FALSE
使用

データのロードおよび外部テーブル

定義

無効な UTF -8文字をUnicode置換文字()で置き換えるかどうかを指定するブール値。このオプションは、1対1の文字置換を実行します。

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

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

デフォルト

FALSE

NULL_IF = ( 'string1' [ , 'string2' , ... ] )
使用

データのロードのみ

定義

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

このファイル形式オプションは、 MATCH_BY_COLUMN_NAME コピーオプションを使用してParquetデータを個別の列にロードする場合にのみ、次のアクションに適用されます。

Snowflakeは、データ型に関係なく、値のすべてのインスタンスを NULL に変換することに注意してください。たとえば、 2 が値として指定されている場合は、文字列または数値としての 2 のインスタンスすべてが変換されます。

例:

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エンコードエラーがエラー状態を引き起こすかどうかを指定するブール値。 REPLACE_INVALID_CHARACTERS の代替構文です。

TRUE に設定すると、無効な UTF-8シーケンスはUnicode文字 U+FFFD (つまり、「置換文字」)で警告なしに置き換えられます。

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

デフォルト

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

REPLACE_INVALID_CHARACTERS = TRUE | FALSE
使用

データのロードおよび外部テーブル

定義

無効な UTF -8文字をUnicode置換文字()で置き換えるかどうかを指定するブール値。このオプションは、1対1の文字置換を実行します。

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

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

デフォルト

FALSE

SKIP_BYTE_ORDER_MARK = TRUE | FALSE
使用

データのロードのみ

定義

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

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

デフォルト

TRUE

コピーオプション(copyOptions

次のコピーオプションを1つ以上指定できます(空白、コンマ、または改行で区切り)。

ON_ERROR = CONTINUE | SKIP_FILE | SKIP_FILE_num | 'SKIP_FILE_num%' | ABORT_STATEMENT
使用

データのロードのみ

定義

ロード操作のエラー処理を指定する文字列(定数)。

重要

ON_ERROR コピーオプションの値を慎重に検討してください。デフォルト値は一般的なシナリオでは適切ですが、常に最良のオプションであるとは限りません。

  • CONTINUE

    エラーが見つかった場合は、ファイルのロードを続行します。COPY ステートメントは、データファイルごとに見つかった最大1つのエラーのエラーメッセージを返します。

    ROWS_PARSED 列の値と ROWS_LOADED 列の値の差は、検出されたエラーを含む行の数を表します。ただし、これらの各行には複数のエラーが含まれる可能性があります。データファイルのすべてのエラーを表示するには、 VALIDATION_MODE パラメーターを使用するか、 VALIDATE 関数をクエリします。

  • SKIP_FILE

    エラーが見つかった場合はファイルをスキップします。

    SKIP_FILE アクションは、エラーが見つかったかどうかに関係なく、ファイル全体をバッファーすることに注意してください。このため、 SKIP_FILECONTINUE または ABORT_STATEMENT よりも低速です。少数のエラーで大型のファイルをスキップすると、遅延が発生し、クレジットが無駄になる可能性があります。論理的な叙述がないファイルから多数の記録をロードする場合(例: ファイルが大まかな間隔で自動的に生成された場合)は、代わりに CONTINUE を指定することを検討してください。

    その他のパターン:

    SKIP_FILE_num (例: SKIP_FILE_10

    ファイル内で見つかったエラー行の数が指定された数以上の場合は、ファイルをスキップします。

    'SKIP_FILE_num%' (例: 'SKIP_FILE_10%'

    ファイル内で見つかったエラー行の割合が指定された割合を超えた場合は、ファイルをスキップします。

  • ABORT_STATEMENT

    データファイルにエラーが見つかった場合は、ロード操作を中止します。

    データファイルが見つからない(例: データファイルが存在しない、またはデータファイルにアクセスできないため)場合は、 FILES パラメーターでデータファイルが見つからない場合を明示的に指定していたときを除いて、ロード操作は中止 されません

デフォルト
COPY を使用した一括ロード

ABORT_STATEMENT

Snowpipe

SKIP_FILE

SIZE_LIMIT = num
使用

データのロードのみ

定義

特定の COPY ステートメントに対してロードされるデータの最大サイズ(バイト単位)を指定する数値(> 0)。しきい値を超えると、 COPY 操作はファイルのロードを中止します。このオプションは、通常、複数の COPY ステートメントを使用してファイルの共通グループをロードするために使用されます。各ステートメントについて、次のステートメントに進む前に、指定された SIZE_LIMIT を超えるまでデータのロードが続行されます。

たとえば、ステージパス内の一連のファイルのサイズがそれぞれ10 MB であるとします。複数の COPY ステートメントが SIZE_LIMIT を 25000000 (25 MB)に設定すると、それぞれが3ファイルをロードします。つまり、 SIZE_LIMIT のしきい値を超えると、各 COPY 操作は中断されます。

ロードするファイルがない場合を除き、 SIZE_LIMIT に指定された値に関係なく、少なくとも1つのファイルがロードされることに注意してください。

デフォルト

null(サイズ制限なし)

PURGE = TRUE | FALSE
使用

データのロードのみ

定義

データが正常にロードされた後、ステージからデータファイルを自動的に削除するかどうかを指定するブール値。

このオプションが TRUE に設定されている場合は、正常にロードされたデータファイルを削除するために最善の努力が払われることに注意してください。パージ操作が何らかの理由で失敗した場合、現在エラーは返されません。ステージングされたファイルを定期的にリストし( LIST を使用)、正常にロードされたファイルがある場合は手動で削除することをお勧めします。

デフォルト

FALSE

RETURN_FAILED_ONLY = TRUE | FALSE
使用

データのロードのみ

定義

ステートメント結果でロードに失敗したファイルのみを返すかどうかを指定するブール値。

デフォルト

FALSE

MATCH_BY_COLUMN_NAME = CASE_SENSITIVE | CASE_INSENSITIVE | NONE
使用

データのロードのみ

定義

データで表される対応する列と一致するターゲットテーブルの列に半構造化データをロードするかどうかを指定する文字列。

このコピーオプションは、次のデータ形式でサポートされています。

  • JSON

  • Avro

  • ORC

  • Parquet

列が一致するには、次の条件を満たす必要があります。

  • データで表される列は、テーブルの列と まったく同じ名前 である必要があります。コピーオプションは、列名の大文字と小文字を区別します。列の順序は関係ありません。

  • テーブルの列には、データで表される列の値と互換性のあるデータ型が必要です。例えば、文字列、数値、ブール値はすべてバリアント列にロードできます。

CASE_SENSITIVE | CASE_INSENSITIVE

データで表される対応する列に一致するターゲットテーブルの列に半構造化データをロードします。列名は、大文字と小文字が区別される(CASE_SENSITIVE)または大文字と小文字が区別されない(CASE_INSENSITIVE)です。

COPY 操作は、ターゲットテーブルの少なくとも1つの列がデータファイルで表される列と一致することを確認します。一致が見つかった場合、データファイルの値が1つまたは複数の列にロードされます。一致が見つからない場合、ファイル内の各レコードの NULL 値のセットがテーブルにロードされます。

注釈

  • 一致しない追加の列がデータファイルに存在する場合、これらの列の値はロードされません。

  • 一致しない追加の列がターゲットテーブルに存在する場合、 COPY 操作はこれらの列に NULL 値を挿入します。これらの列は NULL 値をサポートする必要があります。

  • COPY ステートメントでは、ロード中にデータをさらに変換するクエリを指定できません(つまり、 COPY 変換)。

NONE

COPY 操作は、半構造化データをバリアント列にロードするか、クエリが COPY ステートメントに含まれている場合にデータを変換します。

注釈

現在、次の制限が適用されます。

  • ターゲットテーブルにロードするのではなく、ステージングされたデータを検証するために、 MATCH_BY_COLUMN_NAME を COPY ステートメントで VALIDATION_MODE パラメーターと共に使用することはできません。

  • Parquetデータのみ。 MATCH_BY_COLUMN_NAME が CASE_SENSITIVE または CASE_INSENSITIVE に設定されている場合、空の列値(例: "col1": "")はエラーを生成します。

デフォルト

NONE

ENFORCE_LENGTH = TRUE | FALSE
使用

データのロードのみ

定義

リバースロジックを使用した TRUNCATECOLUMNS の代替構文(他のシステムとの互換性のため)

ターゲット列の長さを超えるテキスト文字列を切り捨てるかどうかを指定するブール値:

  • TRUE の場合、ロードされた文字列がターゲット列の長さを超えると、 COPY ステートメントはエラーを生成します。

  • FALSE の場合、文字列はターゲット列の長さに自動で切り捨てられます。

このコピーオプションは、 CSV データと、リレーショナルテーブルの個別の列にロードされた場合の半構造化データの文字列値をサポートします。

注釈

  • ターゲット文字列の列の長さが最大に設定されている場合(例: VARCHAR (16777216))、着信文字列はこの長さを超えることはできません。超えると、 COPY コマンドはエラーを生成します。

  • このパラメーターは機能的には TRUNCATECOLUMNS と同等ですが、逆の動作をします。他のデータベースとの互換性のために提供されています。必要な出力を生成するには、 COPY ステートメントにこれら2つのパラメーターのいずれかを含めるだけです。

デフォルト

TRUE

TRUNCATECOLUMNS = TRUE | FALSE
使用

データのロードのみ

定義

リバースロジックを使用した ENFORCE_LENGTH の代替構文(他のシステムとの互換性のため)

ターゲット列の長さを超えるテキスト文字列を切り捨てるかどうかを指定するブール値:

  • TRUE の場合、文字列はターゲット列の長さに自動的に切り捨てられます。

  • FALSE の場合、ロードされた文字列がターゲット列の長さを超えると、 COPY ステートメントはエラーを生成します。

このコピーオプションは、 CSV データと、リレーショナルテーブルの個別の列にロードされた場合の半構造化データの文字列値をサポートします。

注釈

  • ターゲット文字列の列の長さが最大に設定されている場合(例: VARCHAR (16777216))、着信文字列はこの長さを超えることはできません。超えると、 COPY コマンドはエラーを生成します。

  • このパラメーターは機能的には ENFORCE_LENGTH と同等ですが、逆の動作をします。他のデータベースとの互換性のために提供されています。必要な出力を生成するには、 COPY ステートメントにこれら2つのパラメーターのいずれかを含めるだけです。

デフォルト

FALSE

FORCE = TRUE | FALSE
使用

データのロードのみ

定義

以前にロードされたかどうか、ロード後に変更があったかどうかに関係なく、すべてのファイルをロードするよう指定するブール値。このオプションはファイルを再ロードし、テーブル内のデータを複製する可能性があることに注意します。

デフォルト

FALSE

使用上の注意

  • メタデータについて。

    注意

    Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。

my_int_stage の名前を new_int_stage に変更します。

ALTER STAGE my_int_stage RENAME TO new_int_stage;
Copy

my_ext_stageCREATE STAGE の例で作成)を変更して、 files フォルダーの new という名前のサブフォルダーを参照するように URL を変更します。このステージを参照する COPY INTO <テーブル> コマンドがいずれかのレコードでデータエラーを検出した場合、ファイルをスキップします。他のすべてのコピーオプションは、デフォルト値に設定されます。

ALTER STAGE my_ext_stage
SET URL='s3://loading/files/new/'
COPY_OPTIONS = (ON_ERROR='skip_file');
Copy

my_ext_stage を変更して、提供された認証情報を myint という名前のストレージ統合への参照に置き換えます。

ALTER STAGE my_ext_stage SET STORAGE_INTEGRATION = myint;
Copy

my_ext_stage を変更して、ステージの新しいアクセスキー ID とシークレットアクセスキーを指定します。

ALTER STAGE my_ext_stage SET CREDENTIALS=(AWS_KEY_ID='d4c3b2a1' AWS_SECRET_KEY='z9y8x7w6');
Copy

(上記の例で使用されている認証情報の値は、説明のみを目的としています)

my_ext_stage3 を変更して、ステージの暗号化タイプを AWS_SSE_S3 サーバー側暗号化に変更します。

ALTER STAGE my_ext_stage3 SET ENCRYPTION=(TYPE='AWS_SSE_S3');
Copy

ディレクトリテーブルの例

mystage という名前の既存のステージにディレクトリテーブルを追加します。

ALTER STAGE mystage SET DIRECTORY = ( ENABLE = TRUE );
Copy

mystage という名前のステージで、ディレクトリテーブルのメタデータを手動で更新します。

ALTER STAGE mystage REFRESH;

+-------------------------+----------------+-------------------------------+
| file                    | status         | description                   |
|-------------------------+----------------+-------------------------------|
| data/json/myfile.json   | REGISTERED_NEW | File registered successfully. |
+-------------------------+----------------+-------------------------------+
Copy

mystage という名前のステージの data パス内にあるファイルの、ディレクトリテーブルのメタデータを手動で更新します。

ALTER STAGE mystage REFRESH SUBPATH = 'data';
Copy