REMOVE¶
外部(外部クラウドストレージ)または内部(つまり、Snowflake)ステージからファイルを削除します。
内部ステージでは、次のステージタイプがサポートされています。
名前付き内部ステージ
指定したテーブルのステージ
現在のユーザーのステージ
REMOVE は RM に短縮できます。
- こちらもご参照ください:
構文¶
REMOVE { internalStage | externalStage } [ PATTERN = '<regex_pattern>' ]
条件:
internalStage ::= @[<namespace>.]<int_stage_name>[/<path>] | @[<namespace>.]%<table_name>[/<path>] | @~[/<path>]externalStage ::= @[<namespace>.]<ext_stage_name>[/<path>]
必須パラメーター¶
internalStage | externalStage
データファイルがステージングされる場所を指定します。
@[namespace.]int_stage_name[/path]
ファイルは指定された名前付き内部ステージにあります。
@[namespace.]ext_stage_name[/path]
ファイルは指定された名前付き外部ステージにあります。
@[namespace.]%table_name[/path]
ファイルは指定されたテーブルのステージにあります。
@~[/path]
ファイルは現在のユーザーのステージにあります。
条件:
namespace
は、指定された内部ステージまたはテーブルが存在するデータベースおよび/またはスキーマです。セッション内でデータベースとスキーマが現在使用されている場合、 オプション です。それ以外の場合は必須です。path
は、一連のファイルへのアクセスを制限するクラウドストレージの場所にある、ファイルの大文字と小文字を区別するオプションのパスです(つまり、ファイルの名前は一般的な文字列で開始)。パスは、別のクラウドストレージサービスによって プレフィックス または フォルダー と呼ばれることもあります。
注釈
ステージ名またはパスにスペースまたは特殊文字が含まれている場合は、一重引用符で囲む必要があります(例:
"my stage"
という名前のステージの場合は'@"my stage"'
)。
オプションのパラメーター¶
PATTERN = 'regex_pattern'
削除するファイルをフィルタリングするための正規表現パターンを指定します。このコマンドは、指定された
path
内のすべてのファイルをリストし、見つかった各ファイルに正規表現パターンを適用します。
使用上の注意¶
ステージ上のファイルからデータをロードする場合は、データが正常にロードされるまで、ステージングされたファイルを削除しないでください。データが正常に読み込まれたかどうかを確認するには、 COPY_HISTORY コマンドを使用します。
STATUS
列をチェックして、ファイルからのデータがロードされているかどうかを確認します。ステータスがLoad in progress
の場合は、ステージングされたファイルを削除すると、部分的な読み込みとデータの損失が発生する可能性があることに注意してください。外部ステージからファイルを削除するには、クラウドストレージアカウントのSnowflakeに次のロールまたは許可を付与する必要があります。
クラウドストレージサービス
ロールまたは許可
手順
Amazon S3
s3:DeleteObject
Google Cloud Storage
storage.objects.delete
Microsoft Azure(Blobストレージ)
Storage Blob Data Contributor
このコマンドは、指定されたパスに一致するすべてのディレクトリとファイルを削除します。例えば、次のステートメントは、
mytable
テーブルステージの次のオブジェクトのいずれかに一致します。myobject.csv.gz
(ファイル)myobject
(ディレクトリ)myobject_new
(ディレクトリ)
rm @%mytable/myobject;
特定のディレクトリのすべてのファイルを削除するには、パスの最後にスラッシュ(
/
)を含めます。例:rm @%mytable/myobject/;
Snowflakeユーザーステージで、
worksheet_data
ディレクトリを削除 しない でください。 Classic Console は、ワークシートのメタデータをこのディレクトリの Worksheets タブに格納します。ディレクトリを削除すると、ワークシートへのアクセスが削除され、復元できなくなります。この予防措置は、 Snowsight 内のワークシートには適用されません。これらのワークシートは他の場所に格納されており、誤って削除される可能性はありません。
REMOVE ステートメントの実行が完了する前に中断された場合、そのステートメントによって既に削除されたファイルは復元されません。
例¶
mystage
という名前の内部または外部ステージで path1/subpath2
パスからすべてのファイルを削除します。
REMOVE @mystage/path1/subpath2;
orders
テーブルのステージからすべてのファイルを削除します。
REMOVE @%orders;
コマンドの省略形を使用して、現在のユーザーのステージからパターン *jun*
に一致するファイルを削除します。
RM @~ pattern='.*jun.*';