ホーム » データサイエンス » Snowflake » 🔄 Snowflake におけるファイルアップロードの基本知識

🔄 Snowflake におけるファイルアップロードの基本知識

❓ なぜアップロードが必要か

  • 目的:外部ソースからのデータを Snowflake に取り込む前に、ステージ(Stage)という一時的な場所にファイルを置く。
  • 使用ケース
    • データウェアハウスへのデータロード前準備
    • データ検証や再利用

🗃️ ステージ(Stage)の種類

ステージタイプ説明
内部ステージSnowflake が管理するストレージ領域@%table_name(テーブルステージ)
@my_internal_stage(ユーザ定義ステージ)
外部ステージS3 や Azure Blob など外部クラウドストレージ@my_s3_stage

🧾 アップロードの基本コマンド:PUT

✅ 書式

PUT file://<local_path>/<file_name> @<internal_stage> [AUTO_COMPRESS=TRUE|FALSE];

✅ 主要オプション

オプション説明
AUTO_COMPRESSTRUEなら自動でgzip圧縮される(デフォルトTRUE)
PARALLEL並列でのアップロード数(デフォルトは4)
OVERWRITE既存ファイルがある場合に上書きするか(TRUE/FALSE)

💻 使用例

PUT file://C:/data/sales.csv @mystage AUTO_COMPRESS=TRUE;
  • ローカルPCの sales.csv を Snowflake の @mystage へアップロード

⚠️ 注意点

項目説明
SnowSQL 必須PUT コマンドは SnowSQL(Snowflake CLI)でのみ実行可能
ファイルサイズ制限Snowflakeにアップロード可能なファイルサイズには制限がある(例:最大5GB程度)
拡張子と圧縮形式の注意.gz, .csv, .json などが正しく認識されるようにすること

📚 関連コマンド

コマンド目的
PUTローカル → ステージPUT file://local.csv @stage;
COPY INTOステージ → テーブルへのロードCOPY INTO mytable FROM @stage;
LISTステージ内のファイル一覧LIST @stage;
REMOVEステージ内ファイルの削除REMOVE @stage/file.csv.gz;

📖 参考ドキュメント