Stage, Format File, dan COPY INTO

Otomatisasi Data Pipeline di Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

Snowflake mendukung banyak beban kerja

Tangkapan layar 2026-05-11 pukul 11.52.34 am.png

1 * Materi Pembelajaran Snowflake
Otomatisasi Data Pipeline di Snowflake

Contoh pipeline

 

 

Tangkapan layar 2026-05-11 pukul 10.48.51 am.png

1 * Materi Pembelajaran Snowflake
Otomatisasi Data Pipeline di Snowflake

Kenali Harbr

Logo palsu untuk Harbr

Tentang Harbr

  • Platform logistik dan rantai pasok global
  • Menggunakan Snowflake untuk melacak pengiriman, persediaan gudang, dan kinerja pengantaran
  • Mengambil data dari sistem pemasok di berbagai wilayah
Otomatisasi Data Pipeline di Snowflake

Masalah Pemuatan Data

Diagram pemuatan data

Stage = lokasi penyimpanan sementara

Otomatisasi Data Pipeline di Snowflake

Jenis Stage

Dua jenis stage

Internal Stage

  • User
    • Area staging pribadi untuk satu pengguna
  • Table
    • Terikat ke tabel tertentu
  • Named
    • Objek database yang dibuat di schema

External Stage

  • Named
    • Mengarah ke penyedia cloud
Otomatisasi Data Pipeline di Snowflake

Parameter Stage

Directory Table

CREATE STAGE harbr_stage
  DIRECTORY = (ENABLE = TRUE)

Enkripsi Internal Stage

ENCRYPTION = (TYPE = SNOWFLAKE_FULL)
ENCRYPTION = (TYPE = SNOWFLAKE_SSE)

Enkripsi External Stage

ENCRYPTION = 
([ TYPE = 'AWS_CSE' ] MASTER_KEY = '') 

ENCRYPTION = 
([ TYPE = 'AWS_SSE_S3' ]) 

...
Otomatisasi Data Pipeline di Snowflake

Format File

  • Format terstruktur: CSV dengan delimiter tertentu, baris header, aturan kutip
  • Format semi-terstruktur: JSON, Parquet, Avro, ORC, dan XML.

    • Muat langsung ke kolom VARIANT
    • Definisikan aturan parsing sekali, gunakan ulang untuk semua pemuatan
  • Perbarui objek format sekali

SQL

CREATE FILE FORMAT harbr_csv_format
  TYPE = 'CSV'
  FIELD_DELIMITER = ','
  SKIP_HEADER = 1;
Otomatisasi Data Pipeline di Snowflake

COPY INTO

Muat dari named stage dengan named file format

COPY INTO logistics.shipments
FROM @harbr_internal_stage/shipments/
FILE_FORMAT = (FORMAT_NAME = 'harbr_csv_format')
Otomatisasi Data Pipeline di Snowflake

Penanganan error

Opsi ON_ERROR Perilaku
ABORT_STATEMENT Gagalkan seluruh muatan pada error pertama (default)
CONTINUE Lewati baris buruk, muat sisanya
SKIP_FILE Lewati seluruh file jika berisi error
SKIP_FILE_<num> Lewati file hanya jika error melebihi jumlah tertentu
SKIP_FILE_<num>% Lewati file hanya jika error melebihi ambang % tertentu
Otomatisasi Data Pipeline di Snowflake

Validation mode dan COPY_HISTORY

Validasi tanpa memuat = dry run

COPY INTO logistics.shipments
FROM @harbr_internal_stage/shipments/
FILE_FORMAT = (FORMAT_NAME = 'harbr_csv_format')
VALIDATION_MODE = RETURN_ERRORS;

Periksa riwayat pemuatan

SELECT * FROM TABLE(INFORMATION_SCHEMA.COPY_HISTORY(
  TABLE_NAME => 'shipments',
  START_TIME => DATEADD('hour', -24,
    CURRENT_TIMESTAMP())));
Otomatisasi Data Pipeline di Snowflake

Ayo berlatih!

Otomatisasi Data Pipeline di Snowflake

Preparing Video For Download...