Official Snowflake tutorial: Tutorial: Bulk Loading from a Local File System Using COPY
Canonical URL: https://docs.snowflake.com/en/user-guide/tutorials/data-load-internal-tutorial
Coverage: Teaches the complete bulk-load workflow for loading data from local files into Snowflake tables via internal stages.
Key steps documented:
- Create file format objects —
CREATE FILE FORMATspecifyingTYPE = 'CSV',FIELD_DELIMITER, and other parsing options. - Create named internal stages —
CREATE STAGEestablishes a Snowflake-managed cloud storage location for staging files before load. - Upload files —
PUTcommand uploads local files to the stage with optionalAUTO_COMPRESSfor gzip compression. - Load data —
COPY INTO <table>executes the bulk load with options including:ON_ERRORfor error handling strategy- Pattern matching to load specific files from a stage
- Validate errors —
VALIDATE(<table>, JOB_ID => <query_id>)function identifies rejected rows and load errors. - Cleanup —
REMOVE @<stage>removes staged files after successful load.
Relation to prior queue entry: The original curriculum-ingestor queue entry targeted https://docs.snowflake.com/en/user-guide/data-load-bulk-load-copy (now 404). This tutorial is the authoritative Snowflake documentation covering the COPY INTO bulk-load workflow pattern for operational-task.ingest-batch-data-via-source-connector (TC-129). Complements the existing COPY INTO SQL reference: source.docs-snowflake-com.en-sql-reference-sql-copy-into-table-2026.
Note: The original /user-guide/tables-create URL (curriculum-ingestor queue entry for table creation) returns 404 as of 2026-06-12. Existing source.docs-snowflake-com.en-sql-reference-sql-create-table-2026 covers CREATE TABLE syntax for table provisioning needs.